dxlclient.callbacks module¶
Classes for the different DXL message callbacks.
-
class
dxlclient.callbacks.EventCallback¶ Bases:
dxlclient.callbacks.MessageCallbackConcrete instances of this interface are used to receive
dxlclient.message.Eventmessages.To receive events, a concrete instance of this callback must be created and registered with a
dxlclient.client.DxlClientinstance via thedxlclient.client.DxlClient.add_event_callback()method.The following is a simple example of using an event callback:
from dxlclient.callbacks import EventCallback class MyEventCallback(EventCallback): def on_event(self, event): print("Received event! " + event.source_client_id) dxl_client.add_event_callback("/testeventtopic", MyEventCallback())
NOTE: By default when registering an event callback the client will automatically subscribe (
dxlclient.client.DxlClient.subscribe()) to the topic.The following demonstrates a client that is sending an event message that would be received by the callback above.
from dxlclient.message import Event # Create the event message evt = Event("/testeventtopic") # Populate the event payload evt.payload = "testing".encode() # Send the event dxl_client.send_event(evt)
Constructor
-
on_event(event)¶ Invoked when an
dxlclient.message.Eventhas been received.Parameters: event -- The dxlclient.message.Eventmessage that was received
-
-
class
dxlclient.callbacks.MessageCallback¶ Bases:
dxlclient._BaseObjectBase class for the different callbacks
Constructor
-
class
dxlclient.callbacks.RequestCallback¶ Bases:
dxlclient.callbacks.MessageCallbackConcrete instances of this interface are used to receive
dxlclient.message.Requestmessages.Request callbacks are typically used when implementing a "service".
See
dxlclient.service.ServiceRegistrationInfofor more information on how to register a service.Constructor
-
on_request(request)¶ Invoked when an
dxlclient.message.Requesthas been received.Parameters: request -- The dxlclient.message.Requestmessage that was received
-
-
class
dxlclient.callbacks.ResponseCallback¶ Bases:
dxlclient.callbacks.MessageCallbackConcrete instances of this interface are used to receive
dxlclient.message.Responsemessages.Response callbacks are typically used when invoking a service asynchronously.
The following is a simple example of using a response callback with an asynchronous service invocation:
from dxlclient.message import Request from dxlclient.callbacks import ResponseCallback class MyResponseCallback(ResponseCallback): def on_response(self, response): print("Received response! " + response.service_id) request = Request("/testservice/testrequesttopic") dxl_client.async_request(request, MyResponseCallback())
Constructor
-
on_response(response)¶ Invoked when an
dxlclient.message.Responsehas been received.Parameters: response -- The dxlclient.message.Responsemessage that was received
-