Documentation ¶
Index ¶
- Variables
- type Config
- type NetState
- type Peer
- type PeerMap
- func (pm *PeerMap) FindPeer(network string, filter func(url.Values) bool) ([]*Peer, error)
- func (pm *PeerMap) HandleGetNetworkMeta(w http.ResponseWriter, r *http.Request)
- func (pm *PeerMap) HandleOIDCAuthorize(w http.ResponseWriter, r *http.Request)
- func (pm *PeerMap) HandlePeerPacketConnect(w http.ResponseWriter, r *http.Request)
- func (pm *PeerMap) HandlePutNetworkMeta(w http.ResponseWriter, r *http.Request)
- func (pm *PeerMap) HandleQueryNetworkPeers(w http.ResponseWriter, r *http.Request)
- func (pm *PeerMap) HandleQueryNetworks(w http.ResponseWriter, r *http.Request)
- func (pm *PeerMap) Load() error
- func (pm *PeerMap) Save() error
- func (pm *PeerMap) Serve(ctx context.Context) error
- type RateLimiter
- type RateLimiterConfig
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrAddressAlreadyInuse = peer.Error{Code: 4000, Msg: "the network address is already in use"} ErrNetworkSecretExpired = peer.Error{Code: 4030, Msg: "network secret is expired"} )
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { Listen string `yaml:"listen"` SecretKey string `yaml:"secret_key"` STUNs []string `yaml:"stuns"` PublicNetwork string `yaml:"public_network"` OIDCProviders []oidc.OIDCProviderConfig `yaml:"oidc_providers"` RateLimiter *RateLimiterConfig `yaml:"rate_limiter,omitempty"` SecretRotationPeriod time.Duration `yaml:"secret_rotation_period"` SecretValidityPeriod time.Duration `yaml:"secret_validity_period"` StateFile string `yaml:"state_file"` }
func ReadConfig ¶
type PeerMap ¶
type PeerMap struct {
// contains filtered or unexported fields
}
func (*PeerMap) HandleGetNetworkMeta ¶ added in v0.5.5
func (pm *PeerMap) HandleGetNetworkMeta(w http.ResponseWriter, r *http.Request)
func (*PeerMap) HandleOIDCAuthorize ¶ added in v0.2.4
func (pm *PeerMap) HandleOIDCAuthorize(w http.ResponseWriter, r *http.Request)
func (*PeerMap) HandlePeerPacketConnect ¶ added in v0.2.4
func (pm *PeerMap) HandlePeerPacketConnect(w http.ResponseWriter, r *http.Request)
func (*PeerMap) HandlePutNetworkMeta ¶ added in v0.5.5
func (pm *PeerMap) HandlePutNetworkMeta(w http.ResponseWriter, r *http.Request)
func (*PeerMap) HandleQueryNetworkPeers ¶ added in v0.2.4
func (pm *PeerMap) HandleQueryNetworkPeers(w http.ResponseWriter, r *http.Request)
func (*PeerMap) HandleQueryNetworks ¶ added in v0.2.4
func (pm *PeerMap) HandleQueryNetworks(w http.ResponseWriter, r *http.Request)
type RateLimiter ¶
type RateLimiterConfig ¶ added in v0.6.3
type RateLimiterConfig struct { Limit int `yaml:"limit"` Burst int `yaml:"burst"` Relay RateLimiter `yaml:"relay"` StreamR RateLimiter `yaml:"stream_r"` StreamW RateLimiter `yaml:"stream_w"` }
Click to show internal directories.
Click to hide internal directories.