You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We are creating an OS in Rust, and so far smoltcp seems like a promising interface for part of our networking stack. However, I was curious if it is possible to create a version of the accept syscall with the current smoltcp interface.
The accept syscall takes in a listening fd corresponding to a streaming socket (like a TCP socket). When this socket receives a connection request from a client, it will delegate this connection to a new socket (presumably with the same IP address and port). However, this new socket likely starts in the SynReceived state rather than the Listen or Closed state, and will have its remote endpoint configured when created.
From what I can see, there is no way to manually start the TCP Socket state in SynReceived in smoltcp. Is there another recommended way of implementing something akin to accept with the current interface?
The text was updated successfully, but these errors were encountered:
We are creating an OS in Rust, and so far smoltcp seems like a promising interface for part of our networking stack. However, I was curious if it is possible to create a version of the
accept
syscall with the current smoltcp interface.The
accept
syscall takes in a listening fd corresponding to a streaming socket (like a TCP socket). When this socket receives a connection request from a client, it will delegate this connection to a new socket (presumably with the same IP address and port). However, this new socket likely starts in theSynReceived
state rather than theListen
orClosed
state, and will have its remote endpoint configured when created.From what I can see, there is no way to manually start the TCP Socket state in
SynReceived
in smoltcp. Is there another recommended way of implementing something akin toaccept
with the current interface?The text was updated successfully, but these errors were encountered: