roo_transport
API Documentation for roo_transport
Loading...
Searching...
No Matches
roo_transport::RpcHeader Class Reference

#include <header.h>

Public Types

enum  MessageType { kUnset = -1 , kRequest = 0 , kResponse = 1 }
 

Public Member Functions

 RpcHeader ()
 
size_t serialize (roo::byte *buffer, size_t buffer_size) const
 
size_t deserialize (const roo::byte *buffer, size_t buffer_size)
 
MessageType type () const
 
bool isFirstMessage () const
 
bool isLastMessage () const
 
bool hasTimeout () const
 
RpcStreamId streamId () const
 
RpcFunctionId functionId () const
 
uint32_t timeoutMs () const
 
RpcStatus responseStatus () const
 

Static Public Member Functions

static RpcHeader NewUnaryRequest (RpcFunctionId function_id, RpcStreamId stream_id)
 
static RpcHeader NewUnaryRequest (RpcFunctionId function_id, RpcStreamId stream_id, uint32_t timeout_ms)
 
static RpcHeader NewUnaryResponse (RpcStreamId stream_id, RpcStatus status)
 

Static Public Attributes

static constexpr size_t kMaxSerializedSize = 32
 

Detailed Description

Definition at line 12 of file header.h.

Member Enumeration Documentation

◆ MessageType

Enumerator
kUnset 
kRequest 
kResponse 

Definition at line 14 of file header.h.

Constructor & Destructor Documentation

◆ RpcHeader()

roo_transport::RpcHeader::RpcHeader ( )
inline

Definition at line 18 of file header.h.

Member Function Documentation

◆ deserialize()

size_t roo_transport::RpcHeader::deserialize ( const roo::byte *  buffer,
size_t  buffer_size 
)

Definition at line 84 of file header.cpp.

References kRequest, kResponse, last_response_, and new_request_.

◆ functionId()

RpcFunctionId roo_transport::RpcHeader::functionId ( ) const

Definition at line 10 of file header.cpp.

References kRequest, and new_request_.

◆ hasTimeout()

bool roo_transport::RpcHeader::hasTimeout ( ) const
inline

Definition at line 39 of file header.h.

◆ isFirstMessage()

bool roo_transport::RpcHeader::isFirstMessage ( ) const
inline

Definition at line 37 of file header.h.

◆ isLastMessage()

bool roo_transport::RpcHeader::isLastMessage ( ) const
inline

Definition at line 38 of file header.h.

◆ NewUnaryRequest() [1/2]

RpcHeader roo_transport::RpcHeader::NewUnaryRequest ( RpcFunctionId  function_id,
RpcStreamId  stream_id 
)
static

◆ NewUnaryRequest() [2/2]

RpcHeader roo_transport::RpcHeader::NewUnaryRequest ( RpcFunctionId  function_id,
RpcStreamId  stream_id,
uint32_t  timeout_ms 
)
static

Definition at line 38 of file header.cpp.

References kRequest.

◆ NewUnaryResponse()

RpcHeader roo_transport::RpcHeader::NewUnaryResponse ( RpcStreamId  stream_id,
RpcStatus  status 
)
static

Definition at line 52 of file header.cpp.

References kResponse.

◆ responseStatus()

RpcStatus roo_transport::RpcHeader::responseStatus ( ) const

Definition at line 20 of file header.cpp.

References kResponse, and last_response_.

◆ serialize()

size_t roo_transport::RpcHeader::serialize ( roo::byte *  buffer,
size_t  buffer_size 
) const

◆ streamId()

RpcStreamId roo_transport::RpcHeader::streamId ( ) const
inline

Definition at line 40 of file header.h.

◆ timeoutMs()

uint32_t roo_transport::RpcHeader::timeoutMs ( ) const

Definition at line 15 of file header.cpp.

References kRequest, and new_request_.

◆ type()

MessageType roo_transport::RpcHeader::type ( ) const
inline

Definition at line 36 of file header.h.

Field Documentation

◆ [struct]

struct { ... } roo_transport::RpcHeader::continuation_

◆ function_id_

RpcFunctionId roo_transport::RpcHeader::function_id_

Definition at line 56 of file header.h.

◆ kMaxSerializedSize

constexpr size_t roo_transport::RpcHeader::kMaxSerializedSize = 32
staticconstexpr

◆ [struct]

struct { ... } roo_transport::RpcHeader::last_response_

◆ [struct]

struct { ... } roo_transport::RpcHeader::new_request_

◆ status_

RpcStatus roo_transport::RpcHeader::status_

Definition at line 60 of file header.h.

◆ timeout_ms_

uint32_t roo_transport::RpcHeader::timeout_ms_

Definition at line 57 of file header.h.


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