class Mysql::Protocol::InitialPacket

Initial packet

Attributes

protocol_version[R]
scramble_buff[R]
server_capabilities[R]
server_charset[R]
server_status[R]
server_version[R]
thread_id[R]

Public Class Methods

new(*args) click to toggle source
# File lib/vendor/mysql/protocol.rb, line 597
def initialize(*args)
  @protocol_version, @server_version, @thread_id, @server_capabilities, @server_charset, @server_status, @scramble_buff = args
end
parse(pkt) click to toggle source
# File lib/vendor/mysql/protocol.rb, line 578
def self.parse(pkt)
  protocol_version = pkt.utiny
  server_version = pkt.string
  thread_id = pkt.ulong
  scramble_buff = pkt.read(8)
  f0 = pkt.utiny
  server_capabilities = pkt.ushort
  server_charset = pkt.utiny
  server_status = pkt.ushort
  f1 = pkt.read(13)
  rest_scramble_buff = pkt.string
  raise ProtocolError, "unsupported version: #{protocol_version}" unless protocol_version == VERSION
  raise ProtocolError, "invalid packet: f0=#{f0}" unless f0 == 0
  scramble_buff.concat rest_scramble_buff
  self.new protocol_version, server_version, thread_id, server_capabilities, server_charset, server_status, scramble_buff
end