| eRPC API Reference Rev. 1.8.1 NXP Semiconductors

- Main Page
- API Reference
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
erpc::ArbitratedClientManager Class Reference
Infrastructure » Client

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

`#include <erpc_arbitrated_client_manager.h>`

Inheritance diagram for erpc::ArbitratedClientManager:
[legend]
Collaboration diagram for erpc::ArbitratedClientManager:
[legend]

## 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 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.

## Protected Member Functions
virtual void | 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 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
MessageBufferFactory * | m_messageFactory
| Message buffer factory to use.
CodecFactory * | m_codecFactory
| Codec to use.
Transport * | m_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] | arbitrator | Transport arbitrator to use.

void ArbitratedClientManager::performClientRequest | ( | RequestContext & | request | ) |
| protected virtual

This function performs request.

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

Parameters

  [in] | request | Request context to perform.

Reimplemented from erpc::ClientManager.

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

- erpc_arbitrated_client_manager.h
- erpc_arbitrated_client_manager.cpp