Class: Solace::Serializers::TransactionDeserializer

Inherits:
BaseDeserializer show all
Defined in:
lib/solace/serializers/transaction_deserializer.rb

Overview

Deserializes a binary transaction into a Solace::Transaction object.

Since:

  • 0.0.1

Instance Attribute Summary

Attributes inherited from BaseDeserializer

#io, #record

Instance Method Summary collapse

Methods inherited from BaseDeserializer

#call, #initialize

Constructor Details

This class inherits a constructor from Solace::Serializers::BaseDeserializer

Instance Method Details

#next_extract_messageSolace::Message

Extract the message from the transaction

The BufferLayout is:

- [Message (variable length)]

Returns:

Since:

  • 0.0.1



42
43
44
# File 'lib/solace/serializers/transaction_deserializer.rb', line 42

def next_extract_message
  record.message = Solace::Serializers::MessageDeserializer.new(io).call
end

#next_extract_signaturesArray

Extract signatures from the transaction

The BufferLayout is:

- [Number of signatures (compact u16)]
- [Signatures (variable length)]

Returns:

  • (Array)

    Array of base58 encoded signatures

Since:

  • 0.0.1



31
32
33
34
# File 'lib/solace/serializers/transaction_deserializer.rb', line 31

def next_extract_signatures
  count, = Codecs.decode_compact_u16(io)
  record.signatures = count.times.map { io.read(64) }
end