mirror of
https://github.com/cyberarm/i-mic-fps.git
synced 2025-12-13 06:42:35 +00:00
33 lines
671 B
Ruby
33 lines
671 B
Ruby
# frozen_string_literal: true
|
|
|
|
module CyberarmEngine
|
|
module Networking
|
|
class RawPacket
|
|
attr_reader :message, :type
|
|
|
|
HEADER_PACKER = "C"
|
|
HEADER_LENGTH = 1 # bytes
|
|
|
|
def self.decode(raw_message)
|
|
header = raw_message.unpack(HEADER_PACKER)
|
|
message = raw_message[HEADER_LENGTH..raw_message.length - 1]
|
|
|
|
RawPacket.new(type: header[0], message: message)
|
|
end
|
|
|
|
def initialize(message:, type: Protocol::PACKET_RAW)
|
|
@type = type
|
|
@message = message
|
|
end
|
|
|
|
def encode
|
|
header = [
|
|
@type
|
|
].pack(HEADER_PACKER)
|
|
|
|
"#{header}#{@message}"
|
|
end
|
|
end
|
|
end
|
|
end
|