Feature #15560

Add support for read/write offsets.

Added by ioquatix (Samuel Williams) over 1 year ago. Updated over 1 year ago.

Target version:


It would be nice if read/write/send/recv/etc methods could accept an offset argument.


socket =
buffer = String.b, buffer), buffer, offset: buffer.bytesize)

The same for write, e.g.

socket =
buffer = String.b

amount = socket.write(buffer)
socket.write(buffer, offset: amount)

Could also include "size:" so that we can selectively write parts of the buffer.

Updated by shyouhei (Shyouhei Urabe) over 1 year ago

I can imagine it is useful for TCPSocket#write to accept only a part of a buffer crafted by somebody else. But I cannot think of any actual use case when #read is useful with that extension. Do you have one?

Updated by ioquatix (Samuel Williams) over 1 year ago

It is useful for read when user wants to read some data, and it wasn't enough (e.g. implementing gets) so you need to read some more at the end of what you already have.

Updated by ioquatix (Samuel Williams) over 1 year ago

Also, rather than using a keyword argument, it could be a 3rd argument after buffer, since buffer must be supplied in order for this to work.


Updated by ioquatix (Samuel Williams) over 1 year ago

  • Target version deleted (2.7)

Also available in: Atom PDF