Group reqrep¶
Public Functions¶
| Type | Name |
|---|---|
| dp_rep_t * | dp_rep_create (const char * endpoint) Create a Replier and connect to endpoint . |
| void | dp_rep_destroy (dp_rep_t * ctx) Destroy a Replier context and release all resources. |
| int | dp_rep_recv (dp_rep_t * ctx, dp_msg_t ** msg, size_t * size) Block until an incoming request arrives on the Replier (zero-copy). |
| int | dp_rep_recv_signal (dp_rep_t * ctx, dp_msg_t ** msg, dp_header_t * header) Receive a signal frame request (zero-copy). |
| int | dp_rep_send (dp_rep_t * ctx, const void * data, size_t size) Send the reply to the most recent request. |
| int | dp_rep_send_cf32 (dp_rep_t * ctx, const float _Complex * samples, size_t num_samples, double sample_rate, double center_freq) Send CF32 signal frame as a reply. |
| int | dp_rep_send_cf64 (dp_rep_t * ctx, const double _Complex * samples, size_t num_samples, double sample_rate, double center_freq) Send CF64 signal frame as a reply. |
| int | dp_rep_send_ci16 (dp_rep_t * ctx, const int16_t * samples, size_t num_samples, double sample_rate, double center_freq) Send CI16 signal frame as a reply. |
| int | dp_rep_send_ci32 (dp_rep_t * ctx, const int32_t * samples, size_t num_samples, double sample_rate, double center_freq) Send CI32 signal frame as a reply. |
| int | dp_rep_send_ci8 (dp_rep_t * ctx, const int8_t * samples, size_t num_samples, double sample_rate, double center_freq) Send CI8 signal frame as a reply. |
| void | dp_rep_set_timeout (dp_rep_t * ctx, int timeout_ms) Set receive timeout for a Replier socket. |
| dp_req_t * | dp_req_create (const char * endpoint) Create a Requester and connect to endpoint . |
| void | dp_req_destroy (dp_req_t * ctx) Destroy a Requester context and release all resources. |
| int | dp_req_recv (dp_req_t * ctx, dp_msg_t ** msg, size_t * size) Receive the reply to a previously sent request (zero-copy). |
| int | dp_req_recv_signal (dp_req_t * ctx, dp_msg_t ** msg, dp_header_t * header) Receive a signal frame reply (zero-copy). |
| int | dp_req_send (dp_req_t * ctx, const void * data, size_t size) Send raw bytes as a request. |
| int | dp_req_send_cf32 (dp_req_t * ctx, const float _Complex * samples, size_t num_samples, double sample_rate, double center_freq) Send CF32 signal frame as a request. |
| int | dp_req_send_cf64 (dp_req_t * ctx, const double _Complex * samples, size_t num_samples, double sample_rate, double center_freq) Send CF64 signal frame as a request. |
| int | dp_req_send_ci16 (dp_req_t * ctx, const int16_t * samples, size_t num_samples, double sample_rate, double center_freq) Send CI16 signal frame as a request. |
| int | dp_req_send_ci32 (dp_req_t * ctx, const int32_t * samples, size_t num_samples, double sample_rate, double center_freq) Send CI32 signal frame as a request. |
| int | dp_req_send_ci8 (dp_req_t * ctx, const int8_t * samples, size_t num_samples, double sample_rate, double center_freq) Send CI8 signal frame as a request. |
| void | dp_req_set_timeout (dp_req_t * ctx, int timeout_ms) Set receive timeout for a Requester socket. |
Detailed Description¶
Strict synchronous request/reply. The Requester sends a message and must call recv before sending again. Useful for control plane messages (e.g. tuning commands, metadata queries) and signal-frame RPC.
Public Functions Documentation¶
function dp_rep_create¶
Create a Replier and connect to endpoint .
Parameters:
endpointNATS endpoint, e.g."nats://127.0.0.1:4222/ctrl".
Returns:
Non-NULL context on success, NULL on failure.
function dp_rep_destroy¶
Destroy a Replier context and release all resources.
Parameters:
ctxReplier context (may be NULL).
function dp_rep_recv¶
Block until an incoming request arrives on the Replier (zero-copy).
Parameters:
ctxReplier context.msgSet to a zero-copy message handle.sizeSet to the request byte count.
Returns:
DP_OK on success.
function dp_rep_recv_signal¶
Receive a signal frame request (zero-copy).
Parameters:
ctxReplier context.msgSet to a zero-copy message handle.headerSet to the frame metadata.
Returns:
DP_OK on success, DP_ERR_TIMEOUT on timeout, negative on error.
function dp_rep_send¶
Send the reply to the most recent request.
Parameters:
ctxReplier context.dataPointer to reply payload bytes.sizeByte count.
Returns:
DP_OK on success.
function dp_rep_send_cf32¶
Send CF32 signal frame as a reply.
int dp_rep_send_cf32 (
dp_rep_t * ctx,
const float _Complex * samples,
size_t num_samples,
double sample_rate,
double center_freq
)
function dp_rep_send_cf64¶
Send CF64 signal frame as a reply.
int dp_rep_send_cf64 (
dp_rep_t * ctx,
const double _Complex * samples,
size_t num_samples,
double sample_rate,
double center_freq
)
function dp_rep_send_ci16¶
Send CI16 signal frame as a reply.
int dp_rep_send_ci16 (
dp_rep_t * ctx,
const int16_t * samples,
size_t num_samples,
double sample_rate,
double center_freq
)
function dp_rep_send_ci32¶
Send CI32 signal frame as a reply.
int dp_rep_send_ci32 (
dp_rep_t * ctx,
const int32_t * samples,
size_t num_samples,
double sample_rate,
double center_freq
)
function dp_rep_send_ci8¶
Send CI8 signal frame as a reply.
int dp_rep_send_ci8 (
dp_rep_t * ctx,
const int8_t * samples,
size_t num_samples,
double sample_rate,
double center_freq
)
function dp_rep_set_timeout¶
Set receive timeout for a Replier socket.
Parameters:
ctxReplier context.timeout_msTimeout in milliseconds (-1 = infinite).
function dp_req_create¶
Create a Requester and connect to endpoint .
Parameters:
endpointNATS endpoint, e.g."nats://127.0.0.1:4222/ctrl".
Returns:
Non-NULL context on success, NULL on failure.
function dp_req_destroy¶
Destroy a Requester context and release all resources.
Parameters:
ctxRequester context (may be NULL).
function dp_req_recv¶
Receive the reply to a previously sent request (zero-copy).
Parameters:
ctxRequester context.msgSet to a zero-copy message handle.sizeSet to the reply byte count.
Returns:
DP_OK on success.
function dp_req_recv_signal¶
Receive a signal frame reply (zero-copy).
Parameters:
ctxRequester context.msgSet to a zero-copy message handle.headerSet to the frame metadata.
Returns:
DP_OK on success, DP_ERR_TIMEOUT on timeout, negative on error.
function dp_req_send¶
Send raw bytes as a request.
Parameters:
ctxRequester context.dataPointer to payload bytes.sizeByte count.
Returns:
DP_OK on success.
function dp_req_send_cf32¶
Send CF32 signal frame as a request.
int dp_req_send_cf32 (
dp_req_t * ctx,
const float _Complex * samples,
size_t num_samples,
double sample_rate,
double center_freq
)
function dp_req_send_cf64¶
Send CF64 signal frame as a request.
int dp_req_send_cf64 (
dp_req_t * ctx,
const double _Complex * samples,
size_t num_samples,
double sample_rate,
double center_freq
)
function dp_req_send_ci16¶
Send CI16 signal frame as a request.
int dp_req_send_ci16 (
dp_req_t * ctx,
const int16_t * samples,
size_t num_samples,
double sample_rate,
double center_freq
)
function dp_req_send_ci32¶
Send CI32 signal frame as a request.
int dp_req_send_ci32 (
dp_req_t * ctx,
const int32_t * samples,
size_t num_samples,
double sample_rate,
double center_freq
)
function dp_req_send_ci8¶
Send CI8 signal frame as a request.
int dp_req_send_ci8 (
dp_req_t * ctx,
const int8_t * samples,
size_t num_samples,
double sample_rate,
double center_freq
)
function dp_req_set_timeout¶
Set receive timeout for a Requester socket.
Parameters:
ctxRequester context.timeout_msTimeout in milliseconds (-1 = infinite).