Class: Mongo::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.



25
26
27
# File 'lib/mongo/message/message_header.rb', line 25

def initialize()
  @buf = ByteBuffer.new
end

Instance Method Details

#dumpObject



41
42
43
# File 'lib/mongo/message/message_header.rb', line 41

def dump
  @buf.dump
end

#read_header(db) ⇒ Object



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

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