]> git.meshlink.io Git - meshlink-tiny/blobdiff - src/connection.h
Add a metering test.
[meshlink-tiny] / src / connection.h
index b5ccaed9ec46b299bcf4a89445c1ab221a7e6638..b191896ffe64455e678a8a5ca100c72839b4152b 100644 (file)
@@ -41,13 +41,12 @@ typedef struct connection_status_t {
        uint16_t invitation: 1;             /* 1 if this is an invitation */
        uint16_t invitation_used: 1;        /* 1 if the invitation has been consumed */
        uint16_t initiator: 1;              /* 1 if we initiated this connection */
+       uint16_t raw_packet: 1;             /* 1 if we are expecting a raw packet next */
 } connection_status_t;
 
 #include "ecdsa.h"
-#include "edge.h"
 #include "net.h"
 #include "node.h"
-#include "submesh.h"
 
 typedef struct connection_t {
        char *name;                     /* name he claims to have */
@@ -64,16 +63,13 @@ typedef struct connection_t {
        struct buffer_t inbuf;
        struct buffer_t outbuf;
        io_t io;                        /* input/output event on this metadata connection */
-       int tcplen;                     /* length of incoming TCPpacket */
        int allow_request;              /* defined if there's only one request possible */
+       uint16_t packet_len;            /* length of a raw packet being received */
        time_t last_ping_time;          /* last time we saw some activity from the other end or pinged them */
        time_t last_key_renewal;        /* last time we renewed the SPTPS key */
 
        struct outgoing_t *outgoing;    /* used to keep track of outgoing connections */
 
-       struct edge_t *edge;            /* edge associated with this connection */
-       struct submesh_t *submesh;      /* his submesh handle if available in invitation file */
-
        // Only used during authentication
        ecdsa_t *ecdsa;                 /* his public ECDSA key */
        int protocol_major;             /* used protocol */