icnwmng

package module
v0.1.3 Latest Latest
Warning

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

Go to latest
Published: Jun 17, 2020 License: MIT Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TraversalPMP       = "pmp"
	TraversalHolePunch = "punching"
	TraversalHW        = "highway"
	TraversalNone      = "none"
)
View Source
const (
	UnexpectedError = iota
	GetPeerIdError
	ConnectError
	StartError
	StopError
	NotAcceptConnectionError

	PeerGenerateKeyPairError
	CreateP2PNodeError
	CreateP2PAddressError
	GetPeerIdFromProtocolError
	OpeningStreamP2PError
	HandleNewStreamError

	// PeerConn err
	HandleMessageCheckResponse
	HandleMessageCheck
	LimitByteForMessageError
	ReadStringMessageError
	HexDecodeMessageError
	UnzipMessageError
	HashToPoolError
	MessageTypeError
	CheckForwardError
	ParseJsonMessageError
	CacheMessageHashError
	UnhandleMessageTypeError
)

Variables

View Source
var (
	//ErrShouldHaveIPAddress ...
	ErrShouldHaveIPAddress = errors.New("error machine should have an assigned IP address")
	//ErrNoNATDeviceFound ...
	ErrNoNATDeviceFound = errors.New("error no NAT devices found")
	//ErrCreatingHost ...
	ErrCreatingHost = errors.New("error creating host")
	//ErrCantUpdateBroadcastAddress ...
	ErrCantUpdateBroadcastAddress = errors.New("error cant update broadcast address")
	//ErrCantConnectToNATDiscoverAddress ...
	ErrCantConnectToNATDiscoverAddress = errors.New("error cant connect to NAT discover address")
	// ErrNoMapping signals no mapping exists for an address
	ErrNoMapping = errors.New("mapping not established")
	// ErrCantGetExternalAddress ...
	ErrCantGetExternalAddress = errors.New("error cant get external address")

	// ErrCreateStream ...
	ErrCreateStreamExist = errors.New("error stream of this protocol to this peerID already exist")
)
View Source
var ErrCodeMessage = map[int]struct {
	Code    int
	Message string
}{
	UnexpectedError:          {-1, "Unexpected error"},
	GetPeerIdError:           {-2, "Get peer id fail"},
	ConnectError:             {-3, "Connect error"},
	StartError:               {-4, "Start error"},
	StopError:                {-5, "Stop errior"},
	NotAcceptConnectionError: {-6, "Not accept connection"},

	PeerGenerateKeyPairError:   {-1001, "Can not generate key pair with reader"},
	CreateP2PNodeError:         {-1002, "Can not create libp2p node"},
	CreateP2PAddressError:      {-1003, "Can not create libp2p address for node"},
	GetPeerIdFromProtocolError: {-1004, "Can not get peer id from protocol"},
	OpeningStreamP2PError:      {-1005, "Fail in opening stream "},
	HandleNewStreamError:       {-1006, "Handle new stream error"},

	HandleMessageCheckResponse: {-2001, "Handle message check response error"},
	HandleMessageCheck:         {-2002, "Handle message check error"},
	LimitByteForMessageError:   {-2003, "Limit byte for message"},
	ReadStringMessageError:     {-2004, "Read message error"},
	HexDecodeMessageError:      {-2005, "Hex decode message error"},
	UnzipMessageError:          {-2006, "Unzip message error"},
	HashToPoolError:            {-2007, "Insert hash of message to pool error"},
	MessageTypeError:           {-2008, "Can not find particular message for message cmd type"},
	CheckForwardError:          {-2009, "Check forward error"},
	ParseJsonMessageError:      {-2010, "Can not parse struct from json message"},
	CacheMessageHashError:      {-2011, "Cache messagse hash error"},
	UnhandleMessageTypeError:   {-2012, "Received unhandled message of type"},
}

Functions

func GetOutboundIP

func GetOutboundIP() []string

Get preferred outbound ip of this machine

func PeerInfoFromString

func PeerInfoFromString(peerAddr string) (*peer.AddrInfo, error)

Types

type ConnManagerError

type ConnManagerError struct {
	Code    int
	Message string
	// contains filtered or unexported fields
}

func NewConnManagerError

func NewConnManagerError(key int, err error) *ConnManagerError

func (ConnManagerError) Error

func (e ConnManagerError) Error() string

type IncognitoNetworkManager

type IncognitoNetworkManager struct {
	PeerWithIncognitoID map[string][]peer.ID
	// contains filtered or unexported fields
}

func InitNetwork

func InitNetwork(ctx context.Context, hop *ServerOption, protocol protocol.ID, processInMessage func(peer.ID, []byte)) (*IncognitoNetworkManager, error)

func (*IncognitoNetworkManager) BroadcastMessage

func (man *IncognitoNetworkManager) BroadcastMessage(msg []byte)

func (*IncognitoNetworkManager) Close

func (man *IncognitoNetworkManager) Close() error

func (*IncognitoNetworkManager) ConnectToPeerID

func (man *IncognitoNetworkManager) ConnectToPeerID(peerID string)

func (*IncognitoNetworkManager) GetAllPeers added in v0.1.3

func (man *IncognitoNetworkManager) GetAllPeers() []peer.ID

func (*IncognitoNetworkManager) GetTagInfo

func (man *IncognitoNetworkManager) GetTagInfo(peer.ID) *connmgr.TagInfo

func (*IncognitoNetworkManager) IsProtected

func (man *IncognitoNetworkManager) IsProtected(id peer.ID, tag string) (protected bool)

func (*IncognitoNetworkManager) Notifee

func (man *IncognitoNetworkManager) Notifee() network.Notifiee

func (*IncognitoNetworkManager) Protect

func (man *IncognitoNetworkManager) Protect(peer.ID, string)

func (*IncognitoNetworkManager) SendMessageToPeerID

func (man *IncognitoNetworkManager) SendMessageToPeerID(msg []byte, peerID peer.ID)

func (*IncognitoNetworkManager) TagPeer

func (man *IncognitoNetworkManager) TagPeer(peer.ID, string, int)

func (*IncognitoNetworkManager) TrimOpenConns

func (man *IncognitoNetworkManager) TrimOpenConns(ctx context.Context)

func (*IncognitoNetworkManager) Unprotect

func (man *IncognitoNetworkManager) Unprotect(peer.ID, string) bool

func (*IncognitoNetworkManager) UntagPeer

func (man *IncognitoNetworkManager) UntagPeer(peer.ID, string)

func (*IncognitoNetworkManager) UpsertTag

func (man *IncognitoNetworkManager) UpsertTag(peer.ID, string, func(int) int)

type IncognitoPeer

type IncognitoPeer struct {
	PublicKey string
	peer.AddrInfo
}

type NetworkOption added in v0.1.3

type NetworkOption struct {
}

type Server added in v0.1.3

type Server struct {
	// contains filtered or unexported fields
}

func (*Server) ConnectPeerByAddr added in v0.1.3

func (s *Server) ConnectPeerByAddr(peerAddr string) error

func (*Server) GetBroadcastAddr added in v0.1.3

func (s *Server) GetBroadcastAddr() []string

func (*Server) GetHost added in v0.1.3

func (s *Server) GetHost() host.Host

func (*Server) GetHostID added in v0.1.3

func (s *Server) GetHostID() peer.ID

func (*Server) GetListenAddrs added in v0.1.3

func (s *Server) GetListenAddrs() []string

func (*Server) GetListeningPort added in v0.1.3

func (s *Server) GetListeningPort() int

func (*Server) GetNATType added in v0.1.3

func (s *Server) GetNATType() network.Reachability

func (*Server) Quit added in v0.1.3

func (s *Server) Quit()

type ServerOption added in v0.1.3

type ServerOption struct {
	IdentityKey     crypto.PrivKey
	Port            int
	NATdiscoverAddr string
	EnableRelay     bool
	UseRelayPeer    bool
}

type TraversalMethod

type TraversalMethod string

Jump to

Keyboard shortcuts

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