Files
zfoo/protocol/src/main/resources/ruby/ProtocolManagerTemplate.rb
T
2024-07-24 17:29:47 +08:00

29 lines
603 B
Ruby

${protocol_imports}
class ProtocolManager
@@protocols = Array.new(32767)
@@protocolIdMap = Hash.new()
def self.initProtocol()
${protocol_manager_registrations}
end
def self.getProtocol(protocolId)
return @@protocols[protocolId]
end
def self.write(buffer, packet)
protocolId = @@protocolIdMap[packet.class]
buffer.writeShort(protocolId)
protocol = @@protocols[protocolId]
protocol.write(buffer, packet)
end
def self.read(buffer)
protocolId = buffer.readShort()
protocol = @@protocols[protocolId]
packet = protocol.read(buffer)
return packet
end
end