Source file atacama.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
module Telemetry = Telemetry_
module Connection = Connection
module Handler = Handler
module Transport = Transport
open Riot

let start_link ~port ?(acceptors = 100) ?(max_connections = 1000)
    ?(buffer_size = 1_024 * 50) ?(transport = Transport.tcp ()) handler
    initial_ctx =
  let child_specs =
    [
      Dynamic_supervisor.child_spec ~name:"atacama.connection.sup"
        ~max_children:max_connections ();
      Acceptor_pool.child_spec ~port ~acceptors ~transport ~buffer_size ~handler
        initial_ctx;
    ]
  in
  Supervisor.start_link ~restart_limit:10 ~child_specs ()