Serialize and output a slotted object

Behaviour

  • Serialize the object currently occupying the specified slot
  • Write the serialized version of the object to the output buffer

Definition

int64_t slot (
    uint32_t write_ptr,
    uint32_t write_len,
    uint32_t slot_no
);

Example

uint8_t txn[512];
int64_t bytes_written = 
    slot(txn, 512, 1); // assumes a transaction is slotted into slot=1

Parameters

Name

Type

Description

write_ptr

uint32_t

Pointer to a buffer of a suitable size to store the output.

write_len

uint32_t

Length of the output buffer.

slot_no

uint32_t

The slot number

Return Code

Type

Description

int64_t

The number of bytes written

If negative, an error:
OUT_OF_BOUNDS

  • pointers/lengths specified outside of hook memory.

TOO_SMALL

  • output buffer was not large enough to hold the serialized object