Sifli Data service provider interface.
More...
|
struct | data_service_config_tag |
|
typedef void * | datas_handle_t |
|
typedef int32_t(* | data_service_msg_handler_t) (datas_handle_t service, data_msg_t *msg) |
|
typedef bool(* | data_filter_t) (data_req_t *config, uint16_t msg_id, uint32_t len, uint8_t *data) |
|
typedef struct data_service_config_tag | data_service_config_t |
|
int32_t | datas_push_msg_to_client (datas_handle_t service, uint16_t msg_id, uint32_t len, uint8_t *data) |
| Trigger service main thread to send customer message to the subscriber. More...
|
|
int32_t | datas_push_msg_to_client_no_copy (datas_handle_t svc, uint16_t msg_id, uint32_t len, uint8_t *data) |
| Trigger service main thread to send customer message to the subscriber,. More...
|
|
rt_err_t | datas_data_ready (datas_handle_t service, uint32_t size, uint8_t *data) |
| Inform service that data is available to. More...
|
|
rt_err_t | datas_send_response (datas_handle_t service, data_msg_t *msg_req, rt_err_t result) |
| Send response message to req message. More...
|
|
rt_err_t | datas_send_response_data (datas_handle_t service, data_msg_t *msg_req, uint32_t len, uint8_t *data) |
| Send response message to req message. More...
|
|
datas_handle_t | datas_register (const char *name, data_service_config_t *config) |
| Register data service provider. More...
|
|
#define | DATA_SERVICE_INVALID_ID (0x7F) |
|
#define | datas_push_data_to_client(service, len, data) datas_push_msg_to_client(service,MSG_SERVICE_DATA_NTF_IND,len,data) |
|
#define | datas_ind_size(service, size) datas_data_ready(service,size,RT_NULL); |
|
Sifli Data service provider interface.
◆ data_service_msg_handler_t
◆ datas_handle_t
◆ datas_data_ready()
rt_err_t datas_data_ready |
( |
datas_handle_t |
service, |
|
|
uint32_t |
size, |
|
|
uint8_t * |
data |
|
) |
| |
Inform service that data is available to.
- Parameters
-
[in] | service | Handle of data service |
[in] | size | size of data in bytes available to service. |
[in] | data | point to data, the pointer is carried by message MSG_SERVICE_DATA_RDY_IND, so the receiver is responsible to free the memory |
- Return values
-
RT_EOK | if successful, otherwise return error number < 0. |
◆ datas_push_msg_to_client()
int32_t datas_push_msg_to_client |
( |
datas_handle_t |
service, |
|
|
uint16_t |
msg_id, |
|
|
uint32_t |
len, |
|
|
uint8_t * |
data |
|
) |
| |
Trigger service main thread to send customer message to the subscriber.
- Parameters
-
[in] | service | Handle of data service |
[in] | msg_id | Message id |
[in] | len | Size of data available |
[in] | data | content of data |
- Return values
-
RT_EOK | if successful, otherwise return error number < 0. |
◆ datas_push_msg_to_client_no_copy()
int32_t datas_push_msg_to_client_no_copy |
( |
datas_handle_t |
svc, |
|
|
uint16_t |
msg_id, |
|
|
uint32_t |
len, |
|
|
uint8_t * |
data |
|
) |
| |
Trigger service main thread to send customer message to the subscriber,.
data is not copied and accessed directly by client if serivce and client are in the same core. Service cannot free data after this function call as it would be used by client. If service and client are in different core, the message is relayed to the client side, i.e. client would use a copy of data. So data can be freed after this function call.
- Parameters
-
[in] | svc | Handle of data service |
[in] | msg_id | Message id |
[in] | len | Size of data available |
[in] | data | content of data |
- Return values
-
RT_EOK | if successful, otherwise return error number < 0. |
◆ datas_register()
Register data service provider.
- Parameters
-
[in] | name | Name of data service |
[in] | config | Data service config |
- Return values
-
◆ datas_send_response()
Send response message to req message.
- Parameters
-
[in] | service | Handle of data service |
[in] | msg_req | Request message to respond |
[in] | result | Result of response |
- Return values
-
RT_EOK | if successful, otherwise return error number < 0. |
◆ datas_send_response_data()
Send response message to req message.
- Parameters
-
[in] | service | Handle of data service |
[in] | msg_req | Request message to respond |
[in] | len | Size of data available |
[in] | data | content of data |
- Return values
-
RT_EOK | if successful, otherwise return error number < 0. |