![]() |
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>
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... | |
| 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.