読者です 読者をやめる 読者になる 読者になる

恥をかこう

どうも gen_tcp + gen_server が上手い形にならない。
cooldaemon さんやたけまるさんの実装を参考にさせていただいて勉強している。
個人的には RabbitMQ が以下のような実装になっており、これがスマートなのかなと思っていたりする。

実際にはまだまだ勉強中。

                 +--------+---------+
                 | tcp_listener_sup |
                 +--------+---------+
                          | (one_for_all)
         +----------------+---------+
         |                          |
 +-------+------+           +-------+----------+
 | tcp_listener |           + tcp_acceptor_sup |
 +--------------+           +-------+----------+
                                    | (simple_one_for_one)
                              +-----|---------+
                            +-------|--------+|
                           +--------+-------+|+
                           |  tcp_acceptor  |+
                           +----------------+

追記

one_for_all でした orz そら Listen ソケット落ちたら新たに作り直さないとアウトですよね ... アホか自分。