lsquic_conn_public.h revision 50aadb33
1/* Copyright (c) 2017 LiteSpeed Technologies Inc. See LICENSE. */ 2/* 3 * lsquic_conn_public.h -- Connection's "public interface" 4 * 5 * This structure is used to bundle things in connection that stream 6 * needs access to into a single object. This way, the space per 7 * stream object is one pointer instead of four or five. 8 */ 9 10#ifndef LSQUIC_CONN_PUBLIC_H 11#define LSQUIC_CONN_PUBLIC_H 1 12 13struct lsquic_conn; 14struct lsquic_engine_public; 15struct lsquic_mm; 16struct lsquic_stream; 17struct headers_stream; 18struct lsquic_send_ctl; 19 20struct lsquic_conn_public { 21 struct lsquic_streams_tailq sending_streams, 22 rw_streams, 23 service_streams; 24 struct lsquic_cfcw cfcw; 25 struct lsquic_conn_cap conn_cap; 26 struct lsquic_rtt_stats rtt_stats; 27 struct lsquic_engine_public *enpub; 28 struct malo *packet_out_malo; 29 struct lsquic_conn *lconn; 30 struct lsquic_mm *mm; 31 struct headers_stream *hs; 32 struct lsquic_send_ctl *send_ctl; 33}; 34 35#endif 36