コード例 #1
0
 def send_CLIENT_REMOVE_INTEREST(self, interest_id, context_id):
     # FIXME: Should something be done about callbacks here?
     dg = Datagram()
     dg.add_uint16(clientmsg.CLIENT_REMOVE_INTEREST)
     dg.add_uint32(context_id)
     dg.add_uint16(interest_id)
     self.send_datagram(dg)
コード例 #2
0
 def send_CLIENT_REMOVE_INTEREST(self, interest_id, context_id):
     # FIXME: Should something be done about callbacks here?
     dg = Datagram()
     dg.add_uint16(clientmsg.CLIENT_REMOVE_INTEREST)
     dg.add_uint32(context_id)
     dg.add_uint16(interest_id)
     self.send_datagram(dg)
コード例 #3
0
 def send_CLIENT_ADD_INTEREST(self,
                              parent_id,
                              zone_id,
                              interest_id=0,
                              callback=False,
                              callback_args=[],
                              callback_kwargs={}):
     if not (interest_id in self.interest_counters.keys()):
         self.interest_counters[interest_id] = -1
     # FIXME: This needs to be protected against uint32 roll-overs. I'll probably
     # need to have a set of freed context_ids. But what if there are no more
     # usable context_ids? Raise an Exception?
     self.interest_counters[
         interest_id] = self.interest_counters[interest_id] + 1
     context_id = self.interest_counters[interest_id]
     dg = Datagram()
     dg.add_uint16(clientmsg.CLIENT_ADD_INTEREST)
     dg.add_uint32(context_id)
     dg.add_uint16(interest_id)
     dg.add_uint32(parent_id)
     dg.add_uint32(zone_id)
     self.send_datagram(dg)
     if callback != False:
         self.interest_callback_map[(interest_id,
                                     context_id)] = (callback,
                                                     callback_args,
                                                     callback_kwargs)
     return context_id
コード例 #4
0
 def send_CONTROL_ADD_CHANNEL(self, channel):
     # CONTROL messages don't have sender fields
     dg = Datagram()
     dg.add_uint8(1)  # Number of recipients
     dg.add_uint64(1)  # Recipient (control channel)
     dg.add_uint16(servermsg.CONTROL_ADD_CHANNEL)
     dg.add_uint64(channel)
     self.send_datagram(dg)
コード例 #5
0
 def send_CONTROL_ADD_CHANNEL(self, channel):
     # CONTROL messages don't have sender fields
     dg = Datagram()
     dg.add_uint8(1)  # Number of recipients
     dg.add_uint64(1) # Recipient (control channel)
     dg.add_uint16(servermsg.CONTROL_ADD_CHANNEL)
     dg.add_uint64(channel)
     self.send_datagram(dg)
コード例 #6
0
 def send_CLIENT_ADD_INTEREST(self,
                              parent_id, zone_id,
                              interest_id = 0,
                              callback = False, callback_args = [], callback_kwargs = {}):
     if not (interest_id in self.interest_counters.keys()):
         self.interest_counters[interest_id] = -1
     # FIXME: This needs to be protected against uint32 roll-overs. I'll probably
     # need to have a set of freed context_ids. But what if there are no more
     # usable context_ids? Raise an Exception?
     self.interest_counters[interest_id] = self.interest_counters[interest_id] + 1
     context_id = self.interest_counters[interest_id]
     dg = Datagram()
     dg.add_uint16(clientmsg.CLIENT_ADD_INTEREST)
     dg.add_uint32(context_id)
     dg.add_uint16(interest_id)
     dg.add_uint32(parent_id)
     dg.add_uint32(zone_id)
     self.send_datagram(dg)
     if callback != False:
         self.interest_callback_map[(interest_id, context_id)] = (callback, callback_args, callback_kwargs)
     return context_id
コード例 #7
0
 def send_CLIENT_DISCONNECT(self):
     dg = Datagram()
     dg.add_uint16(clientmsg.CLIENT_DISCONNECT)
     self.send_datagram(dg)
コード例 #8
0
 def send_CLIENT_HELLO(self):
     dg = Datagram()
     dg.add_uint16(clientmsg.CLIENT_HELLO)
     dg.add_uint32(traits.legacy_hash(self.mod))
     dg.add_string(self.version_string)
     self.send_datagram(dg)
コード例 #9
0
 def send_CLIENT_HELLO(self):
     dg = Datagram()
     dg.add_uint16(clientmsg.CLIENT_HELLO)
     dg.add_uint32(traits.legacy_hash(self.mod))
     dg.add_string(self.version_string)
     self.send_datagram(dg)
コード例 #10
0
 def send_CLIENT_DISCONNECT(self):
     dg = Datagram()
     dg.add_uint16(clientmsg.CLIENT_DISCONNECT)
     self.send_datagram(dg)