X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcske%2Fsilcske_i.h;h=6e1550ea774938f0e626ec585f3296732b4c4a18;hb=bc04c8a7bb1f1f1db6436340922842813499b34f;hp=8904b05d93327b710cd05dff28af99bf6a409fb5;hpb=15bdfa0f4a5cc9862d98a5c2184ceaafa8a703f4;p=silc.git diff --git a/lib/silcske/silcske_i.h b/lib/silcske/silcske_i.h index 8904b05d..6e1550ea 100644 --- a/lib/silcske/silcske_i.h +++ b/lib/silcske/silcske_i.h @@ -20,6 +20,12 @@ #ifndef SILCSKE_I_H #define SILCSKE_I_H +/* Packet retry counter and timer defines for UDP transport. */ +#define SILC_SKE_RETRY_COUNT 4 /* Max packet retry count */ +#define SILC_SKE_RETRY_MUL 2 /* Retry timer interval growth */ +#define SILC_SKE_RETRY_RAND 2 /* Randomizer, timeout += rnd % 2 */ +#define SILC_SKE_RETRY_MIN 1 /* Min retry timeout, seconds */ + /* Length of cookie in Start Payload */ #define SILC_SKE_COOKIE_LEN 16 @@ -71,6 +77,16 @@ struct SilcSKEStruct { SilcAsyncOperationStruct op; SilcUInt16 session_port; + /* Packet retransmission */ + SilcUInt16 retry_timer; + SilcUInt16 retry_count; + struct SilcSKEPacketRetransmission { + SilcPacketType type; + SilcPacketFlags flags; + unsigned char *data; + SilcUInt32 data_len; + } retrans; + unsigned int aborted : 1; unsigned int freed : 1; unsigned int responder : 1;