Module: Bones::RPC::Adapter::Msgpack

Defined in:
lib/bones/rpc/adapter/msgpack.rb,
lib/bones/rpc/adapter/msgpack/ruby.rb,
lib/bones/rpc/adapter/msgpack/version.rb

Defined Under Namespace

Modules: Ruby

Constant Summary collapse

Unpacker =
::MessagePack::Unpacker
VERSION =
"0.0.2"

Instance Method Summary collapse

Instance Method Details

#pack(message, buffer = "") ⇒ Object



12
13
14
# File 'lib/bones/rpc/adapter/msgpack.rb', line 12

def pack(message, buffer="")
  buffer << ::MessagePack.pack(message)
end

#parser(data) ⇒ Object



33
34
35
# File 'lib/bones/rpc/adapter/msgpack.rb', line 33

def parser(data)
  Adapter::Parser.new(self, data)
end

#read(unpacker) ⇒ Object



25
26
27
# File 'lib/bones/rpc/adapter/msgpack.rb', line 25

def read(unpacker)
  (unpacker.adapter_unpacker ||= ::MessagePack::Unpacker.new(unpacker.buffer)).read
end

#unpack(buffer) ⇒ Object



16
17
18
# File 'lib/bones/rpc/adapter/msgpack.rb', line 16

def unpack(buffer)
  ::MessagePack.unpack(buffer)
end

#unpack_stream(stream) ⇒ Object



20
21
22
23
# File 'lib/bones/rpc/adapter/msgpack.rb', line 20

def unpack_stream(stream)
  buffer = StringIO.new(stream)
  ::MessagePack::Unpacker.new(buffer).read
end

#unpacker(data) ⇒ Object



29
30
31
# File 'lib/bones/rpc/adapter/msgpack.rb', line 29

def unpacker(data)
  Unpacker.new(StringIO.new(data))
end

#unpacker_pos(parser) ⇒ Object



41
42
43
# File 'lib/bones/rpc/adapter/msgpack.rb', line 41

def unpacker_pos(parser)
  parser.unpacker.buffer.pos
end

#unpacker_seek(parser, n) ⇒ Object



45
46
47
48
# File 'lib/bones/rpc/adapter/msgpack.rb', line 45

def unpacker_seek(parser, n)
  parser.unpacker.buffer.seek(n)
  return n
end