nros C API
Lightweight ROS 2 client for embedded real-time systems
Loading...
Searching...
No Matches
Functions | Variables
service.h File Reference

Service server API. More...

#include "nros/types.h"
Include dependency graph for service.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

 NROS_DEPRECATED_MSG ("nros_service_send_reply_raw() is deprecated; use " "nros_service_send_response_raw()") static inline nros_ret_t nros_service_send_reply_raw(struct nros_service_t *service
 
 NROS_DEPRECATED_MSG ("nros_service_send_response() is deprecated; use " "nros_service_send_response_raw()") static inline nros_ret_t nros_service_send_response(struct nros_service_t *service
 
 NROS_DEPRECATED_MSG ("nros_service_try_recv_request_raw() is deprecated; use " "nros_service_take_request_raw()") static inline int32_t nros_service_try_recv_request_raw(struct nros_service_t *service
 

Variables

uint8_t * buf
 
uint8_t size_t buf_len
 
int64_t const uint8_t * data
 
int64_t const uint8_t size_t len
 
int64_t const uint8_t * response_data
 
int64_t const uint8_t size_t response_len
 
int64_t sequence_number
 

Detailed Description

Service server API.

Create service servers with nros_service_init(). For executor-driven dispatch — the usual shape — register a nros_service_callback_t at init time and let the executor deliver requests and send responses for you.

For manual polling, create the server with nros_service_init_polling(), take requests with nros_service_take_request_raw(), and send responses with nros_service_send_response_raw().

(nros_service_take_request() is the unimplemented twin of nros_service_take_request_raw() and returns NROS_RET_NOT_INIT; which of the two spellings survives is the c:take_request question in the phase-379 parity ledger.)

Function Documentation

◆ NROS_DEPRECATED_MSG() [1/3]

NROS_DEPRECATED_MSG ( "nros_service_send_reply_raw() is deprecated; use " "nros_service_send_response_raw()"  )

◆ NROS_DEPRECATED_MSG() [2/3]

NROS_DEPRECATED_MSG ( "nros_service_send_response() is deprecated; use " "nros_service_send_response_raw()"  )

◆ NROS_DEPRECATED_MSG() [3/3]

NROS_DEPRECATED_MSG ( "nros_service_try_recv_request_raw() is deprecated; use " "nros_service_take_request_raw()"  )

Variable Documentation

◆ buf

uint8_t* buf

◆ buf_len

uint8_t size_t buf_len

◆ data

const char const char *const * data

◆ len

const char const char *const size_t len
Initial value:
{
nros_ret_t nros_service_send_response_raw(struct nros_service_t *service, int64_t sequence_number, const uint8_t *data, size_t len)
int64_t const uint8_t * data
Definition service.h:68
int64_t sequence_number
Definition service.h:68
int64_t const uint8_t size_t len
Definition service.h:69

◆ response_data

int64_t const uint8_t* response_data

◆ response_len

int64_t const uint8_t size_t response_len
Initial value:
{
int64_t const uint8_t * response_data
Definition service.h:91
int64_t const uint8_t size_t response_len
Definition service.h:92

◆ sequence_number

int64_t sequence_number
Initial value:
{
int32_t nros_service_take_request_raw(struct nros_service_t *service, uint8_t *buf, size_t buf_len, int64_t *sequence_number)
uint8_t * buf
Definition service.h:82
uint8_t size_t buf_len
Definition service.h:82