Implementing any single delegate method is optional. Any endpoint can have multiple delegates; only one delegate
method will be called (that of the most recently added delegate), but if a delegate does not implement a certain
interface it will not conflict. See DelegateEchoClient
for an example.
Additionally, Trap will emit warnings when critical events are missed. The following events are considered critical:
OnAccept | Interface to be implemented by the object responsible for dealing with new incoming Trap connections. |
OnClose | Interface for delegates that wish to know when the endpoint has closed (changed state to CLOSED). |
OnData | Implement this interface to handle data callbacks from Trap Endpoints. |
OnError | Interface for delegates to be notified that an error has occurred in the Trap Endpoint. |
OnFailedSending | Implement this interface to receive notifications when Trap has failed sending some data. |
OnObject | Optional interface to be implemented by applications that wish to use the optimised loopback transport. |
OnOpen | Specifies a delegate that should be called once the endpoint changes state to OPEN. |
OnSleep | Interface for delegates interesting when the endpoint goes into the SLEEPING state. |
OnStateChange | Implement this interface to receive callbacks when the Trap Endpoint changes its state. |
OnWakeup | Interface for delegates to be notified when a TrapEndpoint wakes up (changes state from SLEEPING to OPEN) |
TrapDelegate | General catch-all interface for Trap Delegates. |
TrapEndpointDelegate | Convenience interface for implemting a delegate for OnData , OnStateChange and OnFailedSending
. |