34 lines
1.1 KiB
C
34 lines
1.1 KiB
C
|
|
/*
|
|
* Copyright (C) Max Romanov
|
|
* Copyright (C) NGINX, Inc.
|
|
*/
|
|
|
|
#ifndef _NXT_PORT_RPC_H_INCLUDED_
|
|
#define _NXT_PORT_RPC_H_INCLUDED_
|
|
|
|
|
|
typedef void (*nxt_port_rpc_handler_t)(nxt_task_t *task,
|
|
nxt_port_recv_msg_t *msg, void *data);
|
|
|
|
uint32_t nxt_port_rpc_register_handler(nxt_task_t *task, nxt_port_t *port,
|
|
nxt_port_rpc_handler_t ready_handler, nxt_port_rpc_handler_t error_handler,
|
|
nxt_pid_t peer, void *data);
|
|
void *nxt_port_rpc_register_handler_ex(nxt_task_t *task, nxt_port_t *port,
|
|
nxt_port_rpc_handler_t ready_handler, nxt_port_rpc_handler_t error_handler,
|
|
size_t ex_size);
|
|
|
|
uint32_t nxt_port_rpc_ex_stream(void *ex);
|
|
void nxt_port_rpc_ex_set_peer(nxt_task_t *task, nxt_port_t *port,
|
|
void *ex, nxt_pid_t peer);
|
|
|
|
void nxt_port_rpc_handler(nxt_task_t *task, nxt_port_recv_msg_t *msg);
|
|
void nxt_port_rpc_remove_peer(nxt_task_t *task, nxt_port_t *port,
|
|
nxt_pid_t peer);
|
|
void nxt_port_rpc_cancel(nxt_task_t *task, nxt_port_t *port, uint32_t stream);
|
|
void nxt_port_rpc_close(nxt_task_t *task, nxt_port_t *port);
|
|
|
|
|
|
#endif /* _NXT_PORT_RPC_H_INCLUDED_ */
|
|
|