Exemplo n.º 1
0
 def to_internal_binary(self) -> bytes:
     buffer = b""
     buffer += chr(self.reliability)
     buffer += Binary.write_int(len(self.buffer))
     buffer += Binary.write_int(self.identifier_ack or -1)
     buffer += (PacketReliability.is_sequenced_or_ordered(
         self.reliability if chr(self.order_channel) else b""))
     buffer += self.buffer
     return buffer
Exemplo n.º 2
0
 def block_address(self, address: str, timeout: int):
     buffer = b""
     buffer += chr(PyRakLib.PACKET_BLOCK_ADDRESS)
     buffer += chr(len(address))
     buffer += address
     buffer += Binary.write_int(timeout)
     self.server.push_main_to_thread_packet(buffer)
Exemplo n.º 3
0
 def stream_ack(self, identifier, identifier_ack):
     buffer = b""
     buffer += chr(PyRakLib.PACKET_ACK_NOTIFICATION)
     buffer += chr(len(identifier))
     buffer += identifier
     buffer += Binary.write_int(identifier_ack)
     self.server.push_thread_to_main_packet(buffer)
Exemplo n.º 4
0
 def stream_ping_measure(self, session: Session, ping_ms: int):
     identifier = session.get_address().to_string()
     buffer = b""
     buffer += chr(PyRakLib.PACKET_REPORT_PING)
     buffer += chr(len(identifier))
     buffer += identifier
     buffer += Binary.write_int(ping_ms)
     self.server.push_thread_to_main_packet(buffer)
Exemplo n.º 5
0
 def to_binary(self):
     buffer = b""
     buffer += chr((self.reliability << self.RELIABILITY_SHIFT) | (
         self.SPLIT_FLAG if self.has_split else 0)).encode("UTF-8")
     buffer += Binary.write_short(len(self.buffer) << 3)
     buffer += Binary.write_l_triad(
         self.message_index) if PacketReliability.is_reliable(
             self.reliability) else b""
     buffer += Binary.write_l_triad(
         self.sequence_index) if PacketReliability.is_sequenced(
             self.reliability) else b""
     buffer += Binary.write_l_triad(self.order_index + chr(
         self.order_channel)) if PacketReliability.is_sequenced_or_ordered(
             self.reliability) else b""
     buffer += Binary.write_int(self.split_count) + Binary.write_short(
         self.split_id) + Binary.write_int(
             self.split_index) if self.has_split else b""
     return buffer + self.buffer
Exemplo n.º 6
0
 def to_binary(self):
     return Binary.write_int(self.parts[0]) + Binary.write_int(
         self.parts[1]) + Binary.write_int(
             self.parts[2]) + Binary.write_int(self.parts[3])
Exemplo n.º 7
0
 def from_random(self):
     return self.from_data(
         Binary.write_int(int(time.time())),
         Binary.write_short(os.getpid()), Binary.write_short(os.geteuid()),
         Binary.write_int(random.randint(-0x7fffffff, 0x7fffffff)),
         Binary.write_int(random.randint(-0x7fffffff, 0x7fffffff)))
Exemplo n.º 8
0
 def put_int(self, v: int):
     self.buffer += Binary.write_int(v)