summaryrefslogtreecommitdiffstats
path: root/src/fastd.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/fastd.h')
-rw-r--r--src/fastd.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/fastd.h b/src/fastd.h
index dcb35b4..1fe639e 100644
--- a/src/fastd.h
+++ b/src/fastd.h
@@ -161,6 +161,11 @@ struct fastd_peer_group {
unsigned n_connections;
};
+struct fastd_stats {
+ uint64_t packets;
+ uint64_t bytes;
+};
+
struct fastd_config {
struct timespec long_ago;
@@ -294,6 +299,12 @@ struct fastd_context {
fastd_socket_t *sock_default_v4;
fastd_socket_t *sock_default_v6;
+ fastd_stats_t rx;
+
+ fastd_stats_t tx;
+ fastd_stats_t tx_dropped;
+ fastd_stats_t tx_error;
+
#ifdef USE_CRYPTO_AES128CTR
fastd_crypto_aes128ctr_context_t *crypto_aes128ctr;
#endif
@@ -316,7 +327,7 @@ struct fastd_string_stack {
};
-void fastd_send(fastd_context_t *ctx, const fastd_socket_t *sock, const fastd_peer_address_t *local_addr, const fastd_peer_address_t *remote_addr, fastd_buffer_t buffer);
+void fastd_send(fastd_context_t *ctx, const fastd_socket_t *sock, const fastd_peer_address_t *local_addr, const fastd_peer_address_t *remote_addr, fastd_buffer_t buffer, size_t stat_size);
void fastd_send_all(fastd_context_t *ctx, fastd_peer_t *source_peer, fastd_buffer_t buffer);
void fastd_send_handshake(fastd_context_t *ctx, const fastd_socket_t *sock, const fastd_peer_address_t *local_addr, const fastd_peer_address_t *remote_addr, fastd_buffer_t buffer);
void fastd_receive(fastd_context_t *ctx, fastd_socket_t *sock);