1 2 /* 3 * Copyright (C) NGINX, Inc. 4 */ 5 6 #ifndef _NXT_ROUTER_REQUEST_H_INCLUDED_ 7 #define _NXT_ROUTER_REQUEST_H_INCLUDED_ 8 9 10 typedef struct nxt_msg_info_s { 11 nxt_buf_t *buf; 12 nxt_fd_t body_fd; 13 nxt_port_mmap_tracking_t tracking; 14 nxt_work_handler_t completion_handler; 15 } nxt_msg_info_t; 16 17 18 typedef enum { 19 NXT_APR_NEW_PORT, 20 NXT_APR_REQUEST_FAILED, 21 NXT_APR_GOT_RESPONSE, 22 NXT_APR_UPGRADE, 23 NXT_APR_CLOSE, 24 } nxt_apr_action_t; 25 26 27 typedef struct { 28 uint32_t stream; 29 nxt_app_t *app; 30 31 nxt_port_t *app_port; 32 nxt_apr_action_t apr_action; 33 34 nxt_http_request_t *request; 35 nxt_msg_info_t msg_info; 36 37 nxt_bool_t rpc_cancel; 38 } nxt_request_rpc_data_t; 39 40 41 #endif /* _NXT_ROUTER_REQUEST_H_INCLUDED_ */ 42