diff options
author | Linus Nordberg <linus@nordu.net> | 2011-03-06 14:46:57 +0100 |
---|---|---|
committer | Linus Nordberg <linus@nordu.net> | 2011-03-06 14:46:57 +0100 |
commit | 7636505962a348d9564e53922834dc6df1274653 (patch) | |
tree | 28a696ab93922db7a3ebb47093e6225040ebc1fe /lib/include | |
parent | fda0bfd44f940688f85fe3a99a0c8cd91611452f (diff) |
UDP w/o bufferevents, part 1.
Sending, no retransmitting and no receiving.
Diffstat (limited to 'lib/include')
-rw-r--r-- | lib/include/radsec/radsec-impl.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/include/radsec/radsec-impl.h b/lib/include/radsec/radsec-impl.h index 963c821..f8904ac 100644 --- a/lib/include/radsec/radsec-impl.h +++ b/lib/include/radsec/radsec-impl.h @@ -69,7 +69,6 @@ struct rs_connection { struct rs_context *ctx; struct rs_realm *realm; /* Owned by ctx. */ struct event_base *evb; /* Event base. */ - struct bufferevent *bev; /* Buffer event. */ struct event *tev; /* Timeout event. */ struct rs_credentials transport_credentials; struct rs_conn_callbacks callbacks; @@ -80,10 +79,17 @@ struct rs_connection { char is_connecting; /* FIXME: replace with a single state member */ char is_connected; /* FIXME: replace with a single state member */ int fd; /* Socket. */ - int tryagain; - int nextid; + int tryagain; /* For server failover. */ + int nextid; /* Next RADIUS packet identifier. */ int user_dispatch_flag : 1; /* User does the dispatching. */ + /* TCP transport specifics. */ + struct bufferevent *bev; /* Buffer event. */ + /* UDP transport specifics. */ + struct event *wev; /* Write event (for UDP). */ + struct event *rev; /* Read event (for UDP). */ + struct rs_packet *out_queue; /* Queue for outgoing UDP packets. */ #if defined(RS_ENABLE_TLS) + /* TLS specifics. */ SSL_CTX *tls_ctx; SSL *tls_ssl; #endif @@ -97,6 +103,7 @@ struct rs_packet { struct rs_packet *original; char valid_flag; char written_flag; + struct rs_packet *next; /* Used for UDP output queue. */ }; struct rs_attr { |