BytesMessage.SliceSourceinclude MessageSig.SLICE
with type 'a segment_t := 'a Segment.t
and type 'a message_t := 'a Message.ttype 'cap t = {msg : 'cap Message.t;Identifies the message of interest
*)segment : 'cap Segment.t;Segment within message housing these bytes
*)segment_id : int;Index of the segment
*)start : int;Starting byte of the slice
*)len : int;Length of the slice, in bytes
*)}Type t represents a contiguous range of bytes associated with a single segment of a message.
alloc m size reserves size bytes of space within message m. This may result in extending the message with an additional segment; if storage cannot be allocated for a new segment, an exception is raised. Note that the allocated slices always begin on an eight-byte boundary.
alloc_in_segment m seg_id size attempts to reserve size bytes of space within segment seg_id of message m. Allocation will fail if the segment is full.
get_segment slice gets the message segment associated with the slice.
readonly s obtains a view of slice s which is read-only qualified.
get_uintXX s ofs reads an unsigned integer of the specified width, starting at byte offset ofs within the slice.
get_intXX s ofs reads a signed integer of the specified width, starting at byte offset ofs within the slice.
set_uintXX s ofs val writes the value of the width-restricted unsigned integer val into the read/write-qualified slice, starting at byte offset ofs.
set_intXX s ofs val writes the value of the width-restricted signed integer val into the read/write-qualified slice, starting at byte offset ofs.
blit ~src ~src_pos ~dst ~dst_pos ~len copies len bytes from the source slice (beginning at src_pos) to the destination slice (beginning at dst_pos).
val blit_to_bytes :
src:'cap t ->
src_pos:int ->
dst:Bytes.t ->
dst_pos:int ->
len:int ->
unitAs blit, but the destination is a bytes buffer.
val blit_from_string :
src:string ->
src_pos:int ->
dst:MessageSig.rw t ->
dst_pos:int ->
len:int ->
unitAs blit, but the source is a string buffer.
zero_out ~pos ~len slice sets len bytes of the slice to zero, beginning at byte offset pos.