Class: XGen::Mongo::Driver::MessageHeader

Inherits:
Object
  • Object
show all
Defined in:
lib/mongo/message/message_header.rb

Constant Summary collapse

HEADER_SIZE =
16

Instance Method Summary collapse

Constructor Details

#initializeMessageHeader

Returns a new instance of MessageHeader.



27
28
29
# File 'lib/mongo/message/message_header.rb', line 27

def initialize()
  @buf = ByteBuffer.new
end

Instance Method Details

#dumpObject



43
44
45
# File 'lib/mongo/message/message_header.rb', line 43

def dump
  @buf.dump
end

#read_header(db) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
# File 'lib/mongo/message/message_header.rb', line 31

def read_header(db)
  @buf.rewind
  @buf.put_array(db.receive_full(HEADER_SIZE).unpack("C*"))
  raise "Short read for DB response header: expected #{HEADER_SIZE} bytes, saw #{@buf.size}" unless @buf.size == HEADER_SIZE
  @buf.rewind
  @size = @buf.get_int
  @request_id = @buf.get_int
  @response_to = @buf.get_int
  @op = @buf.get_int
  self
end