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 */
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 */