eRPC API Reference
Rev. 1.12.0
NXP Semiconductors
|
Client that can share a transport with a server. More...
#include <erpc_arbitrated_client_manager.hpp>
Public Member Functions | |
ArbitratedClientManager (void) | |
Constructor. More... | |
void | setArbitrator (TransportArbitrator *arbitrator) |
Sets the transport arbitrator instance. More... | |
TransportArbitrator * | getArbitrator (void) |
Gets the transport arbitrator instance. More... | |
Public Member Functions inherited from erpc::ClientManager | |
ClientManager (void) | |
Constructor. More... | |
virtual | ~ClientManager (void) |
ClientManager destructor. | |
virtual RequestContext | createRequest (bool isOneway) |
This function creates request context. More... | |
virtual void | 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... | |
Public Member Functions inherited from erpc::ClientServerCommon | |
ClientServerCommon (void) | |
ClientServerCommon constructor. | |
~ClientServerCommon (void) | |
ClientServerCommon 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... | |
CodecFactory * | getCodecFactory (void) |
This function sets codec factory to use. More... | |
void | setTransport (Transport *transport) |
This function sets transport layer to use. More... | |
Transport * | getTransport (void) |
This function gets transport instance. More... | |
Protected Member Functions | |
virtual void | performClientRequest (RequestContext &request) override |
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 void | verifyReply (RequestContext &request) |
Validate that an incoming message is a reply. | |
Codec * | createBufferAndCodec (void) |
Create message buffer and codec. More... | |
Protected Attributes | |
TransportArbitrator * | m_arbitrator |
Optional transport arbitrator. May be NULL. | |
Protected Attributes inherited from erpc::ClientManager | |
uint32_t | m_sequence |
Sequence number. | |
client_error_handler_t | m_errorHandler |
Pointer to function error handler. | |
Protected Attributes inherited from erpc::ClientServerCommon | |
MessageBufferFactory * | m_messageFactory |
Message buffer factory to use. | |
CodecFactory * | m_codecFactory |
Codec to use. | |
Transport * | m_transport |
Transport layer to use. | |
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.
|
inline |
Constructor.
This function initializes object attributes.
void ArbitratedClientManager::setArbitrator | ( | TransportArbitrator * | arbitrator | ) |
Sets the transport arbitrator instance.
[in] | arbitrator | Transport arbitrator to use. |
|
inline |
Gets the transport arbitrator instance.
|
overrideprotectedvirtual |
This function performs request.
Should be called in non server context (do not call another eRPC function in server remote call implementation).
[in] | request | Request context to perform. |
Reimplemented from erpc::ClientManager.