xref: /unit/src/nxt_stream_source.h (revision 62:5e1efcc7b740)
10Sigor@sysoev.ru 
20Sigor@sysoev.ru /*
30Sigor@sysoev.ru  * Copyright (C) Igor Sysoev
40Sigor@sysoev.ru  * Copyright (C) NGINX, Inc.
50Sigor@sysoev.ru  */
60Sigor@sysoev.ru 
70Sigor@sysoev.ru #ifndef _NXT_STREAM_SOURCE_H_INCLUDED_
80Sigor@sysoev.ru #define _NXT_STREAM_SOURCE_H_INCLUDED_
90Sigor@sysoev.ru 
100Sigor@sysoev.ru 
110Sigor@sysoev.ru typedef struct nxt_stream_source_s  nxt_stream_source_t;
120Sigor@sysoev.ru 
131Sigor@sysoev.ru typedef void (*nxt_stream_source_handler_t)(nxt_task_t *task,
141Sigor@sysoev.ru     nxt_stream_source_t *s);
150Sigor@sysoev.ru 
160Sigor@sysoev.ru struct nxt_stream_source_s {
17*62Sigor@sysoev.ru     nxt_conn_t                   *conn;
180Sigor@sysoev.ru     nxt_source_hook_t            *next;
190Sigor@sysoev.ru     nxt_upstream_source_t        *upstream;
200Sigor@sysoev.ru 
210Sigor@sysoev.ru     nxt_buf_t                    *out;
220Sigor@sysoev.ru 
230Sigor@sysoev.ru     uint32_t                     read_queued;  /* 1 bit */
240Sigor@sysoev.ru 
250Sigor@sysoev.ru     nxt_stream_source_handler_t  error_handler;
260Sigor@sysoev.ru };
270Sigor@sysoev.ru 
280Sigor@sysoev.ru 
291Sigor@sysoev.ru void nxt_stream_source_connect(nxt_task_t *task, nxt_stream_source_t *stream);
300Sigor@sysoev.ru 
310Sigor@sysoev.ru 
320Sigor@sysoev.ru #endif /* _NXT_STREAM_SOURCE_H_INCLUDED_ */
33