Documentation ¶
Index ¶
- type Config
- type Definition
- type PeerConfig
- type PeerData
- type PeerDelegate
- type PeerEvents
- type PeerManager
- type WebTransport
- func (t *WebTransport) DialTimeout(addr string, timeout time.Duration) (net.Conn, error)
- func (t *WebTransport) FinalAdvertiseAddr(ip string, port int) (net.IP, int, error)
- func (t *WebTransport) GetAutoBindPort() int
- func (t *WebTransport) PacketCh() <-chan *memberlist.Packet
- func (t *WebTransport) Shutdown() error
- func (t *WebTransport) StreamCh() <-chan net.Conn
- func (t *WebTransport) WriteTo(b []byte, addr string) (time.Time, error)
- type WebTransportConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
Peering *PeerConfig
}
type Definition ¶
func (*Definition) Addr ¶
func (d *Definition) Addr() string
type PeerConfig ¶
type PeerConfig struct { Name string AdvertiseAddress string AdvertisePort int BindPort int BindAddr string Join []string Block []string Federation *PeerData ReplicaChan chan *oplog.OpLog OpLogHandler *oplog.Handler }
func GetConf ¶
func GetConf() *PeerConfig
type PeerDelegate ¶
type PeerDelegate struct {
// contains filtered or unexported fields
}
func (*PeerDelegate) GetBroadcasts ¶
func (p *PeerDelegate) GetBroadcasts(overhead, limit int) [][]byte
func (*PeerDelegate) LocalState ¶
func (p *PeerDelegate) LocalState(join bool) []byte
func (*PeerDelegate) MergeRemoteState ¶
func (p *PeerDelegate) MergeRemoteState(buf []byte, join bool)
func (*PeerDelegate) NodeMeta ¶
func (p *PeerDelegate) NodeMeta(limit int) []byte
func (*PeerDelegate) NotifyMsg ¶
func (p *PeerDelegate) NotifyMsg(b []byte)
type PeerEvents ¶
type PeerEvents struct {
// contains filtered or unexported fields
}
func (*PeerEvents) NotifyJoin ¶
func (p *PeerEvents) NotifyJoin(n *memberlist.Node)
func (*PeerEvents) NotifyLeave ¶
func (p *PeerEvents) NotifyLeave(n *memberlist.Node)
func (*PeerEvents) NotifyUpdate ¶
func (p *PeerEvents) NotifyUpdate(n *memberlist.Node)
type PeerManager ¶
type PeerManager struct { Broadcasts *memberlist.TransmitLimitedQueue Name string // contains filtered or unexported fields }
func NewPeerManager ¶
func NewPeerManager(cfg *PeerConfig) (*PeerManager, error)
func (*PeerManager) Init ¶
func (p *PeerManager) Init(cfg *PeerConfig) error
func (*PeerManager) Join ¶
func (p *PeerManager) Join(peers []string) error
func (*PeerManager) Leave ¶
func (p *PeerManager) Leave() error
type WebTransport ¶
type WebTransport struct {
// contains filtered or unexported fields
}
WebTransport is a Transport implementation that uses connectionless UDP for packet operations, and ad-hoc TCP connections for stream operations.
func NewWebTransport ¶
func NewWebTransport(config *WebTransportConfig) (*WebTransport, error)
NewWebTransport returns a web transport with the given configuration. On success all the network listeners will be created and listening.
func (*WebTransport) DialTimeout ¶
See Transport.
func (*WebTransport) FinalAdvertiseAddr ¶
See Transport.
func (*WebTransport) GetAutoBindPort ¶
func (t *WebTransport) GetAutoBindPort() int
GetAutoBindPort returns the bind port that was automatically given by the kernel, if a bind port of 0 was given.
func (*WebTransport) PacketCh ¶
func (t *WebTransport) PacketCh() <-chan *memberlist.Packet
See Transport.
type WebTransportConfig ¶
type WebTransportConfig struct { // BindAddrs is a list of addresses to bind to for both TCP and UDP // communications. BindAddrs []string // BindPort is the port to listen on, for each address above. BindPort int }
WebTransportConfig is used to configure a net transport.
Click to show internal directories.
Click to hide internal directories.