Async::JobSourceAsyncJobCoderMessagePack

class MessagePack

Represents a coder that uses MessagePack for job serialization. MessagePack provides fast, compact serialization that is language-agnostic, making it suitable for cross-language job processing systems.

Definitions

def initialize

Initialize a new MessagePack coder with custom type registrations. Registers Symbol and Time types for proper serialization.

Implementation

def initialize
	@factory = ::MessagePack::Factory.new
	
	@factory.register_type(0x01, Symbol)
	
	@factory.register_type(0x02, Time,
		packer: ::MessagePack::Time::Packer,
		unpacker: ::MessagePack::Time::Unpacker
	)
end

def dump(job)

Serialize a job object using MessagePack.

Signature

parameter job Object

The job object to serialize.

returns String

The serialized job data.

Implementation

def dump(job)
	@factory.pack(job)
end

def load(data)

Deserialize job data using MessagePack.

Signature

parameter data String

The serialized job data.

returns Object

The deserialized job object.

Implementation

def load(data)
	@factory.unpack(data)
end

DEFAULT = self.new

Signature

attribute Async::Job::Coder::MessagePack

The default MessagePack coder instance.