MCPcopy Create free account
hub / github.com/comnik/declarative-dataflow / new

Method new

server/src/networking.rs:55–90  ·  view source on GitHub ↗
(address: SocketAddr)

Source from the content-addressed store, hash-verified

53
54impl IO {
55 pub fn new(address: SocketAddr) -> Self {
56 let poll = Poll::new().expect("failed to setup event loop");
57
58 let (send, recv) = channel::channel::<Output>();
59
60 let server_socket = TcpListener::bind(&address).expect("failed to create server socket");
61
62 poll.register(
63 &recv,
64 RESULTS,
65 Ready::readable(),
66 PollOpt::edge() | PollOpt::oneshot(),
67 )
68 .expect("failed to register result channel");
69
70 poll.register(&server_socket, SERVER, Ready::readable(), PollOpt::level())
71 .expect("failed to register server socket");
72
73 let ws_settings = ws::Settings {
74 max_connections: 1024,
75 ..ws::Settings::default()
76 };
77
78 IO {
79 poll,
80 events: Events::with_capacity(ws_settings.max_connections),
81 conn_events: Vec::new(),
82 domain_events: VecDeque::new(),
83 send,
84 recv,
85 server_socket,
86 connections: Slab::with_capacity(ws_settings.max_connections),
87 next_connection_id: 0,
88 ws_settings,
89 }
90 }
91
92 /// Handle networking events.
93 pub fn step(&mut self, t: u64, interests: &HashMap<String, HashSet<Token>>) {

Callers

nothing calls this directly

Calls 1

registerMethod · 0.80

Tested by

no test coverage detected