Packet update to the house

git-svn-id: file:///home/svn/incoming/trunk@2344 4d416f70-5f16-0410-b530-b9f4589650da
This commit is contained in:
Matt Miller 2005-04-09 21:44:01 +00:00
parent 21453ae15c
commit 50d92bcafa
1 changed files with 16 additions and 36 deletions

View File

@ -206,6 +206,10 @@ class GroupTlv < Tlv
return nil
end
def reset
self.tlvs = []
end
#
# Serializers
#
@ -254,26 +258,29 @@ end
#
class Packet < GroupTlv
class <<self
attr_accessor :client
end
#
# Factory
#
# Creates a request with the supplied method
def Packet.create_request(method = nil)
return Packet.new(PACKET_TYPE_REQUEST, method)
end
def Packet.create_response(request)
# Creates a response to a request if one is provided
def Packet.create_response(request = nil)
response_type = PACKET_TYPE_RESPONSE
method = nil
if (request)
if (request.type?(ACKET_TYPE_PLAIN_REQUEST))
response_type = PACKET_TYPE_PLAIN_RESPONSE
end
return Packet.new(response_type, request.method)
method = request.method
end
return Packet.new(response_type, method)
end
#
@ -281,25 +288,13 @@ class Packet < GroupTlv
#
def initialize(type = nil, method = nil)
reset
super(type)
self.client = self.class.client
if (method)
self.method = method
end
end
def reset
self.length = 0
self.header = ''
self.header_length_left = 8
self.payload = ''
self.payload_length_left = 0
end
def type=(type)
@type = type
@ -341,21 +336,6 @@ class Packet < GroupTlv
def rid
return get_tlv(TLV_TYPE_REQUEST_ID)
end
#
# Socket I/O
#
def recv(sock, cipher = nil)
end
def transmit(sock, cipher = nil)
end
protected
attr_accessor :client, :payload, :payload_length_left
attr_accessor :length, :header, :header_length_left
end
end; end; end