2008-08-01から1ヶ月間の記事一覧
ので、list_utils.erl に追加しました。 lists:split/2 は「lists:split(2, [1]).」とかやるとエラーになる為、ループで使い難いんですよね・・・。 list_utils:split/2 を利用した例として、list_utils:split_map/3 と list_utils:split_foldl/4 も list_ut…
kademlia 絡みで UDP 通信を並列で行ないたくなったので作ってみました。 送信元の IP アドレスやポート番号が異なると困るので、rpc:parallel_eval/1 は不使用です。 処理全体のタイムアウト処理と、ワーカーのタイムアウト処理を個別に指定可能です。 list…
検証コード gist: 6312 ― GitHub 感想 foreach 末尾再帰できなくても自前の関数の方が早い・・・コードの書き方が悪いのかな? lists:foreach/2 を使ったからといって、可読性が劇的に上がるわけでもないので、lists:foreach/2 は使うの止めよう。foreach に…
gen_server や gen_fsm 等が保持する State を、サーバ停止せずに(正確には suspend するけど)入れ替える方法のメモ。 OTP から逸脱している感があるけれど、Release Handling は無視の方向で(w; ちなみに、下記の内容を試す際は、こちら をどうぞ。まずは…
udp_server に次ぐ、erlang による kademlia 実装の副産物その2。 定期的に関数を実行したかっただけなんですが、ファイル数が増えたので別プロジェクトにしてみました。 ジョブは起動時に supervisor 配下に置かれるので、落ちても再起動されます。 また、…