Versions in this module Expand all Collapse all v0 v0.29.4 Aug 12, 2023 Changes in this version + const ConnectTimeout + const HandshakeTimeout + const ReservationTagWeight + const ServiceName + const StreamTimeout + type ACLFilter interface + AllowConnect func(src peer.ID, srcAddr ma.Multiaddr, dest peer.ID) bool + AllowReserve func(p peer.ID, a ma.Multiaddr) bool + type MetricsTracer interface + BytesTransferred func(cnt int) + ConnectionClosed func(d time.Duration) + ConnectionOpened func() + ConnectionRequestHandled func(status pbv2.Status) + RelayStatus func(enabled bool) + ReservationAllowed func(isRenewal bool) + ReservationClosed func(cnt int) + ReservationRequestHandled func(status pbv2.Status) + func NewMetricsTracer(opts ...MetricsTracerOption) MetricsTracer + type MetricsTracerOption func(*metricsTracerSetting) + func WithRegisterer(reg prometheus.Registerer) MetricsTracerOption + type Option func(*Relay) error + func WithACL(acl ACLFilter) Option + func WithInfiniteLimits() Option + func WithLimit(limit *RelayLimit) Option + func WithMetricsTracer(mt MetricsTracer) Option + func WithResources(rc Resources) Option + type Relay struct + func New(h host.Host, opts ...Option) (*Relay, error) + func (r *Relay) Close() error + type RelayLimit struct + Data int64 + Duration time.Duration + func DefaultLimit() *RelayLimit + type Resources struct + BufferSize int + Limit *RelayLimit + MaxCircuits int + MaxReservations int + MaxReservationsPerASN int + MaxReservationsPerIP int + MaxReservationsPerPeer int + ReservationTTL time.Duration + func DefaultResources() Resources