package p2p import ( "fmt" "net" ) // ErrSwitchDuplicatePeerID to be raised when a peer is connecting with a known // ID. type ErrSwitchDuplicatePeerID struct { ID ID } func (e ErrSwitchDuplicatePeerID) Error() string { return fmt.Sprintf("Duplicate peer ID %v", e.ID) } // ErrSwitchDuplicatePeerIP to be raised whena a peer is connecting with a known // IP. type ErrSwitchDuplicatePeerIP struct { IP net.IP } func (e ErrSwitchDuplicatePeerIP) Error() string { return fmt.Sprintf("Duplicate peer IP %v", e.IP.String()) } // ErrSwitchConnectToSelf to be raised when trying to connect to itself. type ErrSwitchConnectToSelf struct { Addr *NetAddress } func (e ErrSwitchConnectToSelf) Error() string { return fmt.Sprintf("Connect to self: %v", e.Addr) } type ErrSwitchAuthenticationFailure struct { Dialed *NetAddress Got ID } func (e ErrSwitchAuthenticationFailure) Error() string { return fmt.Sprintf( "Failed to authenticate peer. Dialed %v, but got peer with ID %s", e.Dialed, e.Got, ) } //------------------------------------------------------------------- type ErrNetAddressNoID struct { Addr string } func (e ErrNetAddressNoID) Error() string { return fmt.Sprintf("Address (%s) does not contain ID", e.Addr) } type ErrNetAddressInvalid struct { Addr string Err error } func (e ErrNetAddressInvalid) Error() string { return fmt.Sprintf("Invalid address (%s): %v", e.Addr, e.Err) } type ErrNetAddressLookup struct { Addr string Err error } func (e ErrNetAddressLookup) Error() string { return fmt.Sprintf("Error looking up host (%s): %v", e.Addr, e.Err) }