summaryrefslogtreecommitdiffstats
path: root/src/shrpx_http3_upstream.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/shrpx_http3_upstream.h')
-rw-r--r--src/shrpx_http3_upstream.h26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/shrpx_http3_upstream.h b/src/shrpx_http3_upstream.h
index 53c73ae..ef0fcb4 100644
--- a/src/shrpx_http3_upstream.h
+++ b/src/shrpx_http3_upstream.h
@@ -89,12 +89,12 @@ public:
int init(const UpstreamAddr *faddr, const Address &remote_addr,
const Address &local_addr, const ngtcp2_pkt_hd &initial_hd,
- const ngtcp2_cid *odcid, const uint8_t *token, size_t tokenlen,
+ const ngtcp2_cid *odcid, std::span<const uint8_t> token,
ngtcp2_token_type token_type);
int on_read(const UpstreamAddr *faddr, const Address &remote_addr,
const Address &local_addr, const ngtcp2_pkt_info &pi,
- const uint8_t *data, size_t datalen);
+ std::span<const uint8_t> data);
int write_streams();
@@ -105,8 +105,8 @@ public:
int setup_httpconn();
void add_pending_downstream(std::unique_ptr<Downstream> downstream);
- int recv_stream_data(uint32_t flags, int64_t stream_id, const uint8_t *data,
- size_t datalen);
+ int recv_stream_data(uint32_t flags, int64_t stream_id,
+ std::span<const uint8_t> data);
int acked_stream_data_offset(int64_t stream_id, uint64_t datalen);
int extend_max_stream_data(int64_t stream_id);
void extend_max_remote_streams_bidi(uint64_t max_streams);
@@ -131,16 +131,16 @@ public:
int http_shutdown_stream_read(int64_t stream_id);
int http_reset_stream(int64_t stream_id, uint64_t app_error_code);
int http_stop_sending(int64_t stream_id, uint64_t app_error_code);
- int http_recv_data(Downstream *downstream, const uint8_t *data,
- size_t datalen);
+ int http_recv_data(Downstream *downstream, std::span<const uint8_t> data);
int handshake_completed();
int check_shutdown();
int start_graceful_shutdown();
int submit_goaway();
- int send_packet(const UpstreamAddr *faddr, const sockaddr *remote_sa,
- size_t remote_salen, const sockaddr *local_sa,
- size_t local_salen, const ngtcp2_pkt_info &pi,
- const uint8_t *data, size_t datalen, size_t gso_size);
+ std::pair<std::span<const uint8_t>, int>
+ send_packet(const UpstreamAddr *faddr, const sockaddr *remote_sa,
+ size_t remote_salen, const sockaddr *local_sa, size_t local_salen,
+ const ngtcp2_pkt_info &pi, std::span<const uint8_t> data,
+ size_t gso_size);
void qlog_write(const void *data, size_t datalen, bool fin);
int open_qlog_file(const StringRef &dir, const ngtcp2_cid &scid) const;
@@ -148,7 +148,7 @@ public:
void on_send_blocked(const UpstreamAddr *faddr,
const ngtcp2_addr &remote_addr,
const ngtcp2_addr &local_addr, const ngtcp2_pkt_info &pi,
- const uint8_t *data, size_t datalen, size_t gso_size);
+ std::span<const uint8_t> data, size_t gso_size);
int send_blocked_packet();
void signal_write_upstream_addr(const UpstreamAddr *faddr);
@@ -179,11 +179,11 @@ private:
Address local_addr;
Address remote_addr;
ngtcp2_pkt_info pi;
- const uint8_t *data;
- size_t datalen;
+ std::span<const uint8_t> data;
size_t gso_size;
} blocked[2];
std::unique_ptr<uint8_t[]> data;
+ bool no_gso;
} tx_;
};