Open XOR-op opened 1 month ago
I'm not sure what feature you're requesting:
Thanks for your replying. What I want to achieve is the following:
tcp::Socket::new(vec![0;65536], vec![0; 65536])
to reduce memory usage. Is this already possible?
ah okay! you want to dynamically change the buffer size after the TCP socket has already been created. Makes sense.
Unfortunately that's not possible now, no. Doing it if the buffer is borrowed might be hard, but should be doable if it's an owned Vec.
Then can we add such an API for sockets with owned Vec or Socket<'static>
such as
fn replace_recv_buf<T: Into<SocketBuffer<'static>>(&mut self, new_buffer: T)->Option<SocketBuffer<'static>>
? Enabling this feature will be helpful to memory-constraint devices with skewed bandwidth needs.
sure! pull reuquests welcome
Currently, the buffer for TCP socket needs to be preallocated in
socket::tcp::Socket::new()
and I found nowhere to change its size. However, a configurable window size is necessary to achieve a balance between good bandwidth and low memory footprint. I notice that TCP window scaling (RFC 1323) is advertised to be implemented but it seems it's only properly implemented for the remote endpoint. Can this feature be implemented in local side?