renaming _register() to register() on MessageHandler and AppEventHandler, fixing a couple of EventQueue derived message related bugs

This commit is contained in:
enus.linden
2009-06-05 22:22:13 +00:00
committed by Salad Dais
parent e9e91d16b1
commit b7ccabe726
11 changed files with 47 additions and 47 deletions

View File

@@ -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

View File

@@ -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)
'''

View File

@@ -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))

View File

@@ -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)

View File

@@ -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):

View File

@@ -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))

View File

@@ -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")

View File

@@ -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)

View File

@@ -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:

View File

@@ -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

View File

@@ -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):