renaming _register() to register() on MessageHandler and AppEventHandler, fixing a couple of EventQueue derived message related bugs
This commit is contained in:
@@ -303,11 +303,11 @@ class Agent(object):
|
||||
def _start_EQ_on_neighboring_region(self, message):
|
||||
""" enables the event queue on an agent's neighboring region """
|
||||
|
||||
region = [region for region in self.child_regions if message.sim_ip_and_port == str(region.sim_ip) + ":" + str(region.sim_port)]
|
||||
region = [region for region in self.child_regions if message.blocks['Message_Data'][0].get_variable('sim-ip-and-port').data == str(region.sim_ip) + ":" + str(region.sim_port)]
|
||||
|
||||
if region != []:
|
||||
|
||||
region[0]._set_seed_capability(message.seed_capability_url)
|
||||
region[0]._set_seed_capability(message.blocks['Message_Data'][0].get_variable('seed-capability').data)
|
||||
|
||||
region[0]._get_region_capabilities()
|
||||
|
||||
@@ -325,32 +325,32 @@ class Agent(object):
|
||||
|
||||
if self.settings.MULTIPLE_SIM_CONNECTIONS:
|
||||
|
||||
onEnableSimulator_received = self.message_handler._register('EnableSimulator')
|
||||
onEnableSimulator_received = self.region.message_handler.register('EnableSimulator')
|
||||
onEnableSimulator_received.subscribe(self.onEnableSimulator)
|
||||
|
||||
onEstablishAgentCommunication_received = self.message_handler._register('EstablishAgentCommunication')
|
||||
onEstablishAgentCommunication_received = self.region.message_handler.register('EstablishAgentCommunication')
|
||||
onEstablishAgentCommunication_received.subscribe(self.onEstablishAgentCommunication)
|
||||
|
||||
if self.settings.HANDLE_PACKETS:
|
||||
|
||||
onAlertMessage_received = self.region.message_handler._register('AlertMessage')
|
||||
onAlertMessage_received = self.region.message_handler.register('AlertMessage')
|
||||
onAlertMessage_received.subscribe(self.onAlertMessage)
|
||||
|
||||
onAgentDataUpdate_received = self.region.message_handler._register('AgentDataUpdate')
|
||||
onAgentDataUpdate_received = self.region.message_handler.register('AgentDataUpdate')
|
||||
onAgentDataUpdate_received.subscribe(self.onAgentDataUpdate)
|
||||
|
||||
onAgentMovementComplete_received = self.region.message_handler._register('AgentMovementComplete')
|
||||
onAgentMovementComplete_received = self.region.message_handler.register('AgentMovementComplete')
|
||||
onAgentMovementComplete_received.subscribe(self.onAgentMovementComplete)
|
||||
|
||||
onHealthMessage_received = self.region.message_handler._register('HealthMessage')
|
||||
onHealthMessage_received = self.region.message_handler.register('HealthMessage')
|
||||
onHealthMessage_received.subscribe(self.onHealthMessage)
|
||||
|
||||
onImprovedInstantMessage_received = self.region.message_handler._register('ImprovedInstantMessage')
|
||||
onImprovedInstantMessage_received = self.region.message_handler.register('ImprovedInstantMessage')
|
||||
onImprovedInstantMessage_received.subscribe(self.onImprovedInstantMessage)
|
||||
|
||||
if self.settings.ENABLE_COMMUNICATIONS_TRACKING:
|
||||
|
||||
onChatFromSimulator_received = self.region.message_handler._register('ChatFromSimulator')
|
||||
onChatFromSimulator_received = self.region.message_handler.register('ChatFromSimulator')
|
||||
onChatFromSimulator_received.subscribe(self.onChatFromSimulator)
|
||||
|
||||
def send_AgentDataUpdateRequest(self):
|
||||
@@ -650,13 +650,13 @@ class Agent(object):
|
||||
def onEstablishAgentCommunication(self, message):
|
||||
""" callback handler for received EstablishAgentCommunication messages. try to enable the event queue for a neighboring region based on the data received """
|
||||
|
||||
log(INFO, 'Received EstablishAgentCommunication for %s' % (message.sim_ip_and_port))
|
||||
log(INFO, 'Received EstablishAgentCommunication for %s' % (message.blocks['Message_Data'][0].get_variable('sim-ip-and-port').data))
|
||||
|
||||
is_running = False
|
||||
|
||||
# don't enable the event queue when we already have it running
|
||||
for region in self.child_regions:
|
||||
if (str(region.sim_ip) + ":" + str(region.sim_port) == message.sim_ip_and_port) and region.event_queue != None:
|
||||
if (str(region.sim_ip) + ":" + str(region.sim_port) == message.blocks['Message_Data'][0].get_variable('sim-ip-and-port').data) and region.event_queue != None:
|
||||
if region.event_queue._running:
|
||||
is_running = True
|
||||
|
||||
|
||||
@@ -42,11 +42,11 @@ class Appearance(object):
|
||||
# Callbacks
|
||||
# ~~~~~~~~~
|
||||
|
||||
onAgentWearablesUpdate_received = self.agent.message_handler._register('AgentWearablesUpdate')
|
||||
onAgentWearablesUpdate_received = self.agent.message_handler.register('AgentWearablesUpdate')
|
||||
onAgentWearablesUpdate_received.subscribe(self.helpers.log_packet, self)
|
||||
|
||||
'''
|
||||
onAgentDataUpdate_received = self.agent.message_handler._register('AgentDataUpdate')
|
||||
onAgentDataUpdate_received = self.agent.message_handler.register('AgentDataUpdate')
|
||||
onAgentDataUpdate_received.subscribe(self.helpers.log_packet, self)
|
||||
'''
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ class AppEventsHandler(object):
|
||||
|
||||
self.handlers = {}
|
||||
|
||||
def _register(self, event_name, timeout = 0):
|
||||
def register(self, event_name, timeout = 0):
|
||||
""" create a watcher for a specific event in this event system. the timeout is optional, and defaults to no timeout """
|
||||
|
||||
if self.settings.LOG_VERBOSE: log(DEBUG, 'Creating a monitor for %s' % (event_name))
|
||||
|
||||
@@ -54,19 +54,19 @@ class GroupManager(object):
|
||||
# Callbacks
|
||||
# ~~~~~~~~~
|
||||
if self.settings.HANDLE_PACKETS:
|
||||
onAgentGroupDataUpdate_received = self.agent.region.message_handler._register("AgentGroupDataUpdate")
|
||||
onAgentGroupDataUpdate_received = self.agent.region.message_handler.register("AgentGroupDataUpdate")
|
||||
onAgentGroupDataUpdate_received.subscribe(self.onAgentGroupDataUpdate)
|
||||
|
||||
onChatterBoxInvitation_received = self.agent.region.message_handler._register('ChatterBoxInvitation')
|
||||
onChatterBoxInvitation_received = self.agent.region.message_handler.register('ChatterBoxInvitation')
|
||||
onChatterBoxInvitation_received.subscribe(self.onChatterBoxInvitation_Message)
|
||||
|
||||
onChatterBoxSessionEventReply_received = self.agent.region.message_handler._register('ChatterBoxSessionEventReply')
|
||||
onChatterBoxSessionEventReply_received = self.agent.region.message_handler.register('ChatterBoxSessionEventReply')
|
||||
onChatterBoxSessionEventReply_received.subscribe(self.onChatterBoxSessionEventReply)
|
||||
|
||||
onChatterBoxSessionAgentListUpdates_received = self.agent.region.message_handler._register('ChatterBoxSessionAgentListUpdates')
|
||||
onChatterBoxSessionAgentListUpdates_received = self.agent.region.message_handler.register('ChatterBoxSessionAgentListUpdates')
|
||||
onChatterBoxSessionAgentListUpdates_received.subscribe(self.onChatterBoxSessionAgentListUpdates)
|
||||
|
||||
onChatterBoxSessionStartReply_received = self.agent.region.message_handler._register('ChatterBoxSessionStartReply')
|
||||
onChatterBoxSessionStartReply_received = self.agent.region.message_handler.register('ChatterBoxSessionStartReply')
|
||||
onChatterBoxSessionStartReply_received.subscribe(self.onChatterBoxSessionStartReply)
|
||||
|
||||
if self.settings.LOG_VERBOSE: log(DEBUG, "Initialized the Group Manager")
|
||||
@@ -170,7 +170,7 @@ class GroupManager(object):
|
||||
|
||||
if self.settings.HANDLE_PACKETS:
|
||||
# enable the callback to watch for the CreateGroupReply packet
|
||||
self.onCreateGroupReply_received = self.agent.region.message_handler._register('CreateGroupReply')
|
||||
self.onCreateGroupReply_received = self.agent.region.message_handler.register('CreateGroupReply')
|
||||
self.onCreateGroupReply_received.subscribe(self.onCreateGroupReply)
|
||||
else:
|
||||
|
||||
@@ -199,7 +199,7 @@ class GroupManager(object):
|
||||
packet.GroupData['GroupID'] = group_id
|
||||
|
||||
# set up the callback
|
||||
self.onJoinGroupReply_received = self.agent.message_handler._register('JoinGroupReply')
|
||||
self.onJoinGroupReply_received = self.agent.message_handler.register('JoinGroupReply')
|
||||
self.onJoinGroupReply_received.subscribe(self.onJoinGroupReply)
|
||||
|
||||
self.agent.region.enqueue_message(packet(), True)
|
||||
|
||||
@@ -61,13 +61,13 @@ class Inventory(object):
|
||||
def enable_callbacks(self):
|
||||
""" enable monitors for certain inventory related packet events """
|
||||
|
||||
onInventoryDescendents_received = self.agent.region.message_handler._register('InventoryDescendents')
|
||||
onInventoryDescendents_received = self.agent.region.message_handler.register('InventoryDescendents')
|
||||
onInventoryDescendents_received.subscribe(self.onInventoryDescendents)
|
||||
|
||||
onFetchInventoryReply_received = self.agent.region.message_handler._register('FetchInventoryReply')
|
||||
onFetchInventoryReply_received = self.agent.region.message_handler.register('FetchInventoryReply')
|
||||
onFetchInventoryReply_received.subscribe(self.onFetchInventoryReply)
|
||||
|
||||
onBulkUpdateInventory_received = self.agent.region.message_handler._register('BulkUpdateInventory')
|
||||
onBulkUpdateInventory_received = self.agent.region.message_handler.register('BulkUpdateInventory')
|
||||
onBulkUpdateInventory_received.subscribe(self.onBulkUpdateInventory)
|
||||
|
||||
def onInventoryDescendents(self, packet):
|
||||
|
||||
@@ -25,7 +25,7 @@ class MessageHandler(object):
|
||||
|
||||
self.handlers = {}
|
||||
|
||||
def _register(self, message_name):
|
||||
def register(self, message_name):
|
||||
|
||||
if self.settings.LOG_VERBOSE: log(DEBUG, 'Creating a monitor for %s' % (message_name))
|
||||
|
||||
|
||||
@@ -69,26 +69,26 @@ class Objects(object):
|
||||
else:
|
||||
self.message_handler = MessageHandler()
|
||||
|
||||
onObjectUpdate_received = self.message_handler._register('ObjectUpdate')
|
||||
onObjectUpdate_received = self.message_handler.register('ObjectUpdate')
|
||||
onObjectUpdate_received.subscribe(self.onObjectUpdate)
|
||||
|
||||
onObjectUpdateCached_received = self.message_handler._register('ObjectUpdateCached')
|
||||
onObjectUpdateCached_received = self.message_handler.register('ObjectUpdateCached')
|
||||
onObjectUpdateCached_received.subscribe(self.onObjectUpdateCached)
|
||||
|
||||
onObjectUpdateCompressed_received= self.message_handler._register('ObjectUpdateCompressed')
|
||||
onObjectUpdateCompressed_received= self.message_handler.register('ObjectUpdateCompressed')
|
||||
onObjectUpdateCompressed_received.subscribe(self.onObjectUpdateCompressed)
|
||||
|
||||
onObjectProperties_received = self.message_handler._register('ObjectProperties')
|
||||
onObjectProperties_received = self.message_handler.register('ObjectProperties')
|
||||
onObjectProperties_received.subscribe(self.onObjectProperties)
|
||||
|
||||
onKillObject_received= self.message_handler._register('KillObject')
|
||||
onKillObject_received= self.message_handler.register('KillObject')
|
||||
onKillObject_received.subscribe(self.onKillObject)
|
||||
|
||||
# uncomment these to view packets sent back to simulator
|
||||
# onObjectName_sent = self.message_handler._register('ObjectName')
|
||||
# onObjectName_sent = self.message_handler.register('ObjectName')
|
||||
# onObjectName_sent.subscribe(self.helpers.log_packet, self)
|
||||
|
||||
# onDeRezObject_sent = self.message_handler._register('DeRezObject')
|
||||
# onDeRezObject_sent = self.message_handler.register('DeRezObject')
|
||||
# onDeRezObject_sent.subscribe(self.helpers.log_packet, self)
|
||||
|
||||
if self.settings.LOG_VERBOSE: log(INFO, "Initializing object storage")
|
||||
|
||||
@@ -92,16 +92,16 @@ class ParcelManager(object):
|
||||
self.parcel_map_full = False
|
||||
|
||||
# set up callbacks for parcel related packets
|
||||
self.onParcelOverlay_received = self.message_handler._register('ParcelOverlay')
|
||||
self.onParcelOverlay_received = self.message_handler.register('ParcelOverlay')
|
||||
self.onParcelOverlay_received.subscribe(self.onParcelOverlay)
|
||||
|
||||
self.onParcelProperties_received = self.message_handler._register('ParcelProperties')
|
||||
self.onParcelProperties_received = self.message_handler.register('ParcelProperties')
|
||||
self.onParcelProperties_received.subscribe(self.onParcelProperties)
|
||||
|
||||
self.onParcelPropertiesUpdate_received = self.message_handler._register('ParcelPropertiesUpdate')
|
||||
self.onParcelPropertiesUpdate_received = self.message_handler.register('ParcelPropertiesUpdate')
|
||||
self.onParcelPropertiesUpdate_received.subscribe(self.onParcelPropertiesUpdate)
|
||||
|
||||
self.onParcelInfoReply_received = self.message_handler._register('ParcelInfoReply')
|
||||
self.onParcelInfoReply_received = self.message_handler.register('ParcelInfoReply')
|
||||
self.onParcelInfoReply_received.subscribe(self.onParcelInfoReply)
|
||||
|
||||
if self.settings.LOG_VERBOSE: log(DEBUG, "Initializing the parcel manager in region %s." % (self.region.SimName))
|
||||
@@ -317,7 +317,7 @@ class ParcelManager(object):
|
||||
def request_estate_covenant(self, ):
|
||||
""" request the estate covenant (for the current estate)"""
|
||||
|
||||
self.onEstateCovenantReply_received = self.message_handler._register('EstateCovenantReply')
|
||||
self.onEstateCovenantReply_received = self.message_handler.register('EstateCovenantReply')
|
||||
self.onEstateCovenantReply_received.subscribe(self.onEstateCovenantReply)
|
||||
|
||||
self.sendEstateCovenantRequest()
|
||||
@@ -689,7 +689,7 @@ class ParcelManager(object):
|
||||
def request_parcel_access_list(self, LocalID, Flags):
|
||||
""" request an access list for the specified parcel, while enabling a callback handler for the response """
|
||||
|
||||
self.onParcelAccessListReply_received = self.message_handler._register('ParcelAccessListReply')
|
||||
self.onParcelAccessListReply_received = self.message_handler.register('ParcelAccessListReply')
|
||||
self.onParcelAccessListReply_received.subscribe(self.onParcelAccessListReply, LocalID = LocalID)
|
||||
|
||||
self.sendParcelAccessListRequest(LocalID, Flags)
|
||||
@@ -742,7 +742,7 @@ class ParcelManager(object):
|
||||
def request_parcel_dwell(self, LocalID):
|
||||
""" request dwell for the specified parcel, while enabling a callback handler for the response """
|
||||
|
||||
self.onParcelDwellReply_received = self.message_handler._register('ParcelDwellReply')
|
||||
self.onParcelDwellReply_received = self.message_handler.register('ParcelDwellReply')
|
||||
self.onParcelDwellReply_received.subscribe(self.onParcelDwellReply, LocalID = LocalID)
|
||||
|
||||
self.sendParcelDwellRequest(LocalID)
|
||||
|
||||
@@ -130,7 +130,7 @@ class Region(object):
|
||||
self.parcel_manager = ParcelManager(region = self, agent = self.agent, message_handler = self.message_handler, events_handler = self.events_handler, settings = None)
|
||||
|
||||
# required packet handlers
|
||||
onPacketAck_received = self.message_handler._register('PacketAck')
|
||||
onPacketAck_received = self.message_handler.register('PacketAck')
|
||||
onPacketAck_received.subscribe(self.helpers.null_packet_handler, self)
|
||||
|
||||
# data we need
|
||||
@@ -445,11 +445,11 @@ class Region(object):
|
||||
self._isUDPRunning = True
|
||||
|
||||
# the RegionHandshake packet requires a response
|
||||
onRegionHandshake_received = self.message_handler._register('RegionHandshake')
|
||||
onRegionHandshake_received = self.message_handler.register('RegionHandshake')
|
||||
onRegionHandshake_received.subscribe(self.onRegionHandshake)
|
||||
|
||||
# the StartPingCheck packet requires a response
|
||||
onStartPingCheck_received = self.message_handler._register('StartPingCheck')
|
||||
onStartPingCheck_received = self.message_handler.register('StartPingCheck')
|
||||
onStartPingCheck_received.subscribe(self.onStartPingCheck)
|
||||
|
||||
while self._isUDPRunning:
|
||||
|
||||
@@ -11,7 +11,7 @@ First, initialize the packet handler
|
||||
How about a mock callback handler
|
||||
>>> def callback(packet): print packet
|
||||
|
||||
>>> onStartPingCheck_received = message_handler._register("StartPingCheck")
|
||||
>>> onStartPingCheck_received = message_handler.register("StartPingCheck")
|
||||
>>> onStartPingCheck_received.subscribe(callback)
|
||||
|
||||
Stage a packet
|
||||
|
||||
@@ -25,7 +25,7 @@ class TestEvents(unittest.TestCase):
|
||||
|
||||
eventshandler = AppEventsHandler()
|
||||
|
||||
handler = eventshandler._register('MockEvent')
|
||||
handler = eventshandler.register('MockEvent')
|
||||
handler.subscribe(self.onEvent, mock)
|
||||
|
||||
eventshandler._handle(mock)
|
||||
@@ -36,7 +36,7 @@ class TestEvents(unittest.TestCase):
|
||||
|
||||
eventshandler = AppEventsHandler()
|
||||
|
||||
handler = eventshandler._register('MockEvent', 2)
|
||||
handler = eventshandler.register('MockEvent', 2)
|
||||
handler.subscribe(self.onEvent, None)
|
||||
|
||||
Wait(3)
|
||||
@@ -47,7 +47,7 @@ class TestEvents(unittest.TestCase):
|
||||
|
||||
eventshandler = AppEventsHandler()
|
||||
|
||||
self.assertRaises(DataParsingError, eventshandler._register, 'MockEvent', 'two')
|
||||
self.assertRaises(DataParsingError, eventshandler.register, 'MockEvent', 'two')
|
||||
|
||||
def test_AppEvent_payload(self):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user