Question about Linker.Option.isTrivial()

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Mon Jan 15 14:58:23 UTC 2024


On 15/01/2024 14:13, Pedro Lamarão wrote:
> Em seg., 15 de jan. de 2024 às 09:57, 刘希晨 <benrush0705 at gmail.com> 
> escreveu:
>
>     I think it's a really common behaviour in network programming,
>     like ByteBuffer, recording the current message offset as its
>     instance variable, so the caller could use get() method multiple
>     times without worrying about its current offset, currently I
>     wrapped MemorySegment in a ByteBuffer-like structure for content
>     reading and writing, but with MemorySegment.getString() and
>     MemorySegment.setString(), the afterwards offset can't be obtained.
>
>
> In my experience, network protocols will encode variable length data 
> with a length prefix, so that you already know how many bytes are 
> there before decoding. The alternative, to encode the variable length 
> data with a sentinel value, is uncommon.

I was also under this impression - e.g. that network protocols would 
probably want to do the encoding/decoding manually, using more efficient 
encoding (e.g. variable-length string encoding).

That said, the API you propose, which return just the string bytes, is 
not super complex to add in the future, if we still feel like we need 
something like that. Let's keep that in our radars.

Maurizio

>
> -- 
> Pedro Lamarão
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/panama-dev/attachments/20240115/f53acecf/attachment-0001.htm>


More information about the panama-dev mailing list