eRPC API Reference  Rev. 1.7.2
NXP Semiconductors
erpc::ArbitratedClientManager Class Reference

Client that can share a transport with a server. More...

#include <erpc_arbitrated_client_manager.h>

+ Inheritance diagram for erpc::ArbitratedClientManager:
+ Collaboration diagram for erpc::ArbitratedClientManager:

Public Member Functions

 ArbitratedClientManager (void)
 Constructor. More...
 
void setArbitrator (TransportArbitrator *arbitrator)
 Sets the transport arbitrator instance. More...
 
- Public Member Functions inherited from erpc::ClientManager
 ClientManager (void)
 Constructor. More...
 
virtual ~ClientManager (void)
 ClientManager destructor.
 
void setMessageBufferFactory (MessageBufferFactory *factory)
 This function sets message buffer factory to use. More...
 
void setCodecFactory (CodecFactory *factory)
 This function sets codec factory to use. More...
 
void setTransport (Transport *transport)
 This function sets transport layer to use. More...
 
virtual RequestContext createRequest (bool isOneway)
 This function creates request context. More...
 
virtual erpc_status_t performRequest (RequestContext &request)
 This function performs request. More...
 
virtual void releaseRequest (RequestContext &request)
 This function releases request context. More...
 
void setErrorHandler (client_error_handler_t error_handler)
 This function sets error handler function for infrastructure errors. More...
 
void callErrorHandler (erpc_status_t err, uint32_t functionID)
 This function calls error handler callback function with given status. More...
 

Protected Member Functions

virtual erpc_status_t performClientRequest (RequestContext &request)
 This function performs request. More...
 
void setTransport (Transport *transport)
 This method is not used with this class.
 
- Protected Member Functions inherited from erpc::ClientManager
virtual erpc_status_t verifyReply (RequestContext &request)
 Validate that an incoming message is a reply.
 
CodeccreateBufferAndCodec (void)
 Create message buffer and codec. More...
 

Protected Attributes

TransportArbitratorm_arbitrator
 Optional transport arbitrator. May be NULL.
 
- Protected Attributes inherited from erpc::ClientManager
MessageBufferFactorym_messageFactory
 Message buffer factory to use.
 
CodecFactorym_codecFactory
 Codec to use.
 
Transportm_transport
 Transport layer to use.
 
uint32_t m_sequence
 Sequence number.
 
client_error_handler_t m_errorHandler
 Pointer to function error handler.
 

Detailed Description

Client that can share a transport with a server.

This class is a special subclass of ClientManager that works with the TransportArbitrator to share a single transport with a Server. This enables, for instance, a single UART to be used for bidirectional remote function invocations and replies.

The setTransport() method used on ClientManager is not used with this class. Instead, there is a setArbitrator() method. The underlying transport that is shared is set on the arbitrator.

Constructor & Destructor Documentation

erpc::ArbitratedClientManager::ArbitratedClientManager ( void  )
inline

Constructor.

This function initializes object attributes.

Member Function Documentation

void ArbitratedClientManager::setArbitrator ( TransportArbitrator arbitrator)

Sets the transport arbitrator instance.

Parameters
[in]arbitratorTransport arbitrator to use.
erpc_status_t ArbitratedClientManager::performClientRequest ( RequestContext request)
protectedvirtual

This function performs request.

Should be called in non server context (do not call another eRPC function in server remote call implementation).

Parameters
[in]requestRequest context to perform.

Reimplemented from erpc::ClientManager.


The documentation for this class was generated from the following files: