peer

package
v0.0.0-...-bfa3324 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 28, 2021 License: CC0-1.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InitContext

func InitContext(ctx context.Context)

Types

type Message

type Message struct {
	Author int64   `json:"author"`
	Kind   string  `json:"kind"`
	Peer   int64   `json:"peer,omitempty"`
	Hops   []int64 `json:"hops,omitempty"`
}

func (*Message) Read

func (m *Message) Read(rw *bufio.ReadWriter) (int, error)

func (*Message) Write

func (m *Message) Write(rw *bufio.ReadWriter) (int, error)

type Peer

type Peer struct {
	Id          int64
	Host        host.Host
	Writers     map[int64]Writer
	WritersLock *sync.RWMutex
	Network     *network_graph
	NetworkLock *sync.RWMutex
}

func NewPeer

func NewPeer(ctx context.Context, id int64, port int) (*Peer, error)

func (*Peer) AddToPeerStore

func (p *Peer) AddToPeerStore(id peer.ID, addrs []multiaddr.Multiaddr)

func (*Peer) ClearTraffic

func (p *Peer) ClearTraffic()

func (*Peer) Connect

func (p *Peer) Connect(ctx context.Context, addr multiaddr.Multiaddr) error

func (*Peer) Destroy

func (p *Peer) Destroy()

func (*Peer) Disconnect

func (p *Peer) Disconnect(peer int64)

func (*Peer) ExportNetwork

func (p *Peer) ExportNetwork() error

func (*Peer) ExportTraffic

func (p *Peer) ExportTraffic() error

func (*Peer) GetAddress

func (p *Peer) GetAddress() ([]multiaddr.Multiaddr, error)

func (*Peer) HandleStream

func (p *Peer) HandleStream()

func (*Peer) InitNetwork

func (p *Peer) InitNetwork(peer int64)

func (*Peer) Probe

func (p *Peer) Probe()

func (*Peer) UpdateNetwork

func (p *Peer) UpdateNetwork(msg *Message)

func (*Peer) UpdateTraffic

func (p *Peer) UpdateTraffic(peer int64, kind string, amount int)

type Writer

type Writer struct {
	Listen chan Message
	Signal chan struct{}
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL