2018-01-21 00:33:53 -05:00
|
|
|
package p2p
|
2018-01-20 21:12:04 -05:00
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
2018-05-07 17:15:12 +02:00
|
|
|
"net"
|
2018-01-20 21:12:04 -05:00
|
|
|
)
|
|
|
|
|
2018-05-07 17:15:12 +02:00
|
|
|
// ErrSwitchDuplicatePeerID to be raised when a peer is connecting with a known
|
|
|
|
// ID.
|
2018-04-28 16:45:08 -04:00
|
|
|
type ErrSwitchDuplicatePeerID struct {
|
|
|
|
ID ID
|
|
|
|
}
|
|
|
|
|
|
|
|
func (e ErrSwitchDuplicatePeerID) Error() string {
|
2018-05-07 17:15:12 +02:00
|
|
|
return fmt.Sprintf("Duplicate peer ID %v", e.ID)
|
2018-04-28 16:45:08 -04:00
|
|
|
}
|
|
|
|
|
2018-05-07 17:15:12 +02:00
|
|
|
// ErrSwitchDuplicatePeerIP to be raised whena a peer is connecting with a known
|
|
|
|
// IP.
|
2018-04-28 16:45:08 -04:00
|
|
|
type ErrSwitchDuplicatePeerIP struct {
|
2018-05-07 17:15:12 +02:00
|
|
|
IP net.IP
|
2018-04-28 16:45:08 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
func (e ErrSwitchDuplicatePeerIP) Error() string {
|
2018-05-07 17:15:12 +02:00
|
|
|
return fmt.Sprintf("Duplicate peer IP %v", e.IP.String())
|
2018-04-28 16:45:08 -04:00
|
|
|
}
|
|
|
|
|
2018-05-07 17:15:12 +02:00
|
|
|
// ErrSwitchConnectToSelf to be raised when trying to connect to itself.
|
2018-04-28 16:45:08 -04:00
|
|
|
type ErrSwitchConnectToSelf struct {
|
|
|
|
Addr *NetAddress
|
|
|
|
}
|
|
|
|
|
|
|
|
func (e ErrSwitchConnectToSelf) Error() string {
|
2018-05-07 17:15:12 +02:00
|
|
|
return fmt.Sprintf("Connect to self: %v", e.Addr)
|
2018-04-28 16:45:08 -04:00
|
|
|
}
|
2018-01-20 21:12:04 -05:00
|
|
|
|
|
|
|
type ErrSwitchAuthenticationFailure struct {
|
|
|
|
Dialed *NetAddress
|
|
|
|
Got ID
|
|
|
|
}
|
|
|
|
|
|
|
|
func (e ErrSwitchAuthenticationFailure) Error() string {
|
2018-05-07 17:15:12 +02:00
|
|
|
return fmt.Sprintf(
|
|
|
|
"Failed to authenticate peer. Dialed %v, but got peer with ID %s",
|
|
|
|
e.Dialed,
|
|
|
|
e.Got,
|
|
|
|
)
|
2018-01-20 21:12:04 -05:00
|
|
|
}
|
2018-04-28 14:48:51 -04:00
|
|
|
|
|
|
|
//-------------------------------------------------------------------
|
|
|
|
|
|
|
|
type ErrNetAddressNoID struct {
|
|
|
|
Addr string
|
|
|
|
}
|
|
|
|
|
|
|
|
func (e ErrNetAddressNoID) Error() string {
|
2018-04-28 15:39:09 -04:00
|
|
|
return fmt.Sprintf("Address (%s) does not contain ID", e.Addr)
|
2018-04-28 14:48:51 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
type ErrNetAddressInvalid struct {
|
|
|
|
Addr string
|
|
|
|
Err error
|
|
|
|
}
|
|
|
|
|
|
|
|
func (e ErrNetAddressInvalid) Error() string {
|
2018-04-28 15:39:09 -04:00
|
|
|
return fmt.Sprintf("Invalid address (%s): %v", e.Addr, e.Err)
|
2018-04-28 14:48:51 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
type ErrNetAddressLookup struct {
|
|
|
|
Addr string
|
|
|
|
Err error
|
|
|
|
}
|
|
|
|
|
|
|
|
func (e ErrNetAddressLookup) Error() string {
|
2018-04-28 15:39:09 -04:00
|
|
|
return fmt.Sprintf("Error looking up host (%s): %v", e.Addr, e.Err)
|
2018-04-28 14:48:51 -04:00
|
|
|
}
|