p2p::P2PClient¶
-
class
kanzi::connect::p2p
::
P2PClient
: public ConnectionAdapterProvider¶ Client side handler for P2P client connections.
Public Types
-
typedef function<void(P2PClient::NetworkListenerRegistration*, bool)>
ConnectionStateChangedFunctionType
¶
-
typedef shared_ptr<void>
ConnectionStateSubscriptionToken
¶
Public Functions
Constructor.
- Parameters
client – client instance this P2P connection adapter is bound to
-
~P2PClient
()¶ Destructor.
Installs a routing handler.
- Parameters
handler – the routing handler to install
context – installation context for debug purposes.
runtimeDataOnly – if true, then route is handled only for runtimedata
-
ConnectionStateSubscriptionToken
addStateChangeSubscription
(ConnectionStateChangedFunctionType callback)¶ Register a state change callback.
- Parameters
callback – the function to register
- Returns
subscription handle that can be used to unregister.
-
void
disconnectAll
()¶ Disconnects unconditionally all existing connections.
-
ClientSharedPtr
getClient
() const¶ Retrieve a client object bound to this P2P client instance.
- Returns
Pointer to client instance. ownership not transfered.
Gets network listener that is bound to this specific session.
- Parameters
session – the session where the listener is bound to
- Returns
network registration object or empty
Remove existing routing handler.
- Parameters
session – the kanzi connect session bound to routing handler that need to be removed
context – removal context for debug purposes.
-
void
removeStateChangeSubscription
(ConnectionStateSubscriptionToken token)¶ Unregisters a state change callback.
- Parameters
token – the registration token to unregister.
-
void
work
()¶ To be invoked when required from the application main thread context.
purges incoming messages.
-
class
NetworkListenerRegistration
: public NetworkListenerClient::Observer, public MessageDispatcher¶ Class to facade a network listener client and message dispatching.
Public Types
Public Functions
Constructor.
- Parameters
networkListener – The listener that this registration represents.
client – Client instance. Ownerhip is not transfered.
serverclientid – The identifier number that this client has on a server.
verboseLogging – When set to true, the information is printed in verbose manner.
-
~NetworkListenerRegistration
()¶ Destructor.
-
inline void
addStateChangeCallback
(ConnectionStateChangedFunctionType callback)¶ Insert callback to listen to registration changes.
- Parameters
callback – The method to invoke for changes. You can set only one callback.
Checks whether this paritucular network listener can handle the particular endpoint.
- Parameters
endpoint – the endpoint to check.
- Returns
true if this listener can handle provided endpoint
-
size_t
countEndpoints
() const¶ Return amount of endpoints the class has.
- Returns
amount of endpoints
-
inline void
enableVerboseLogging
(bool enable)¶ Controls logging verbosity.
- Parameters
enable – true to enable verbose logging from the class.
Inserts a new endpoint.
- Parameters
endpoint – the endpoint to insert
-
inline bool
isConnected
() const¶ Connection state retrieval.
- Returns
true if connected currently.
-
inline bool
isDisconnected
() const¶ Connection state retrieval.
- Returns
true if disconnected currently.
-
virtual void onConnected () KZ_OVERRIDE
Listener thread has established connection to server.
-
virtual void onDisconnected () KZ_OVERRIDE
Listener thread has terminated connection from server.
-
virtual void onFailedToConnect () KZ_OVERRIDE
Listener thread failed to connect.
-
virtual void onReceive () KZ_OVERRIDE
Listener thread received data.
Checks whether this registration refers to a specified endpoint.
- Parameters
endpoint – the endpoint to check
- Returns
true if refers to endpoint.
Removes a endpoint.
- Parameters
endpoint – the endpoint to remove.
- Returns
true if endpoint was referenced and got removed.
-
bool
startConnect
()¶ Starts connection establishment.
- Returns
true if successfully started.
-
void
stop
()¶ Stops the operation including the worker thread.
-
string
toString
()¶ Get stringular representation of the network connection.
mainly for debugging purposes
- Returns
stringular representation of the network connection.
-
bool
unreliableLink
()¶ Describe the link type whether it is reliable or unreliable.
By default, all the links are assumed to be reliable unless otherwise explicitly stated by the network adapter
- Returns
true if link is considered unreliable.
-
void
work
()¶ To be invoked to process incoming messages from the network listener.
-
class
RoutingHandler
¶ Map a stringular identifier (that being a service session or potentially a runtime data subscription or whatever)
Public Functions
-
const string
getInterface
() const¶ Retrieve interface.
- Returns
interface
-
shared_ptr<RoutingRules>
getRules
()¶ Retrieve routing rules.
- Returns
routing rules.
-
AbstractSessionSharedPtr
getSession
()¶ Retrieve session.
- Returns
session
Public Static Functions
Factory method to create instance of routing handler.
- Parameters
routingRules – routing rule object
session – communication session bound to the routing rules
uri – optional uri
-
const string
-
typedef function<void(P2PClient::NetworkListenerRegistration*, bool)>