summaryrefslogtreecommitdiffhomepage
path: root/src/constants.go
blob: 5ee864672520535c46ee4d8f74576753312c87a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package main

import (
	"time"
)

/* Specification constants */

const (
	RekeyAfterMessages     = (1 << 64) - (1 << 16) - 1
	RejectAfterMessages    = (1 << 64) - (1 << 4) - 1
	RekeyAfterTime         = time.Second * 120
	RekeyAttemptTime       = time.Second * 90
	RekeyTimeout           = time.Second * 5
	RejectAfterTime        = time.Second * 180
	KeepaliveTimeout       = time.Second * 10
	CookieRefreshTime      = time.Second * 120
	HandshakeInitationRate = time.Second / 20
	PaddingMultiple        = 16
)

const (
	RekeyAfterTimeReceiving = RekeyAfterTime - KeepaliveTimeout - RekeyTimeout
	NewHandshakeTime        = KeepaliveTimeout + RekeyTimeout // upon failure to acknowledge transport message
)

/* Implementation specific constants */

const (
	QueueOutboundSize  = 1024
	QueueInboundSize   = 1024
	QueueHandshakeSize = 1024
	MinMessageSize     = MessageTransportSize // size of keep-alive
	MaxMessageSize     = ((1 << 16) - 1) + MessageTransportHeaderSize
	MaxPeers           = 1 << 16
)

const (
	UnderLoadQueueSize = QueueHandshakeSize / 8
	UnderLoadAfterTime = time.Second // how long does the device remain under load after detected
)