4.5 KiB
router_address
-- import "github.com/go-i2p/go-i2p/lib/common/router_address"
Package router_address implements the I2P RouterAddress common data structure
Usage
const (
ROUTER_ADDRESS_MIN_SIZE = 9
)
Minimum number of bytes in a valid RouterAddress
type RouterAddress
type RouterAddress struct {
TransportCost *Integer
ExpirationDate *Date
TransportType I2PString
TransportOptions *Mapping
}
RouterAddress is the represenation of an I2P RouterAddress.
https://geti2p.net/spec/common-structures#routeraddress
func NewRouterAddress
func NewRouterAddress(cost uint8, expiration time.Time, transportType string, options map[string]string) (*RouterAddress, error)
NewRouterAddress creates a new RouterAddress with the provided parameters. Returns a pointer to RouterAddress.
func ReadRouterAddress
func ReadRouterAddress(data []byte) (router_address RouterAddress, remainder []byte, err error)
ReadRouterAddress returns RouterAddress from a []byte. The remaining bytes after the specified length are also returned. Returns a list of errors that occurred during parsing.
func (RouterAddress) Bytes
func (router_address RouterAddress) Bytes() []byte
Bytes returns the router address as a []byte.
func (RouterAddress) CapsString
func (router_address RouterAddress) CapsString() I2PString
func (RouterAddress) Cost
func (router_address RouterAddress) Cost() int
Cost returns the cost for this RouterAddress as a Go integer.
func (RouterAddress) Expiration
func (router_address RouterAddress) Expiration() Date
Expiration returns the expiration for this RouterAddress as an I2P Date.
func (RouterAddress) GetOption
func (router_address RouterAddress) GetOption(key I2PString) I2PString
GetOption returns the value of the option specified by the key
func (RouterAddress) Host
func (router_address RouterAddress) Host() (net.Addr, error)
func (RouterAddress) HostString
func (router_address RouterAddress) HostString() I2PString
func (*RouterAddress) IPVersion
func (router_address *RouterAddress) IPVersion() string
IPVersion returns a string "4" for IPv4 or 6 for IPv6
func (RouterAddress) InitializationVector
func (router_address RouterAddress) InitializationVector() ([16]byte, error)
func (RouterAddress) InitializationVectorString
func (router_address RouterAddress) InitializationVectorString() I2PString
func (RouterAddress) IntroducerExpirationString
func (router_address RouterAddress) IntroducerExpirationString(num int) I2PString
func (RouterAddress) IntroducerHashString
func (router_address RouterAddress) IntroducerHashString(num int) I2PString
func (RouterAddress) IntroducerTagString
func (router_address RouterAddress) IntroducerTagString(num int) I2PString
func (*RouterAddress) Network
func (router_address *RouterAddress) Network() string
Network implements net.Addr. It returns the transport type plus 4 or 6
func (RouterAddress) Options
func (router_address RouterAddress) Options() Mapping
Options returns the options for this RouterAddress as an I2P Mapping.
func (RouterAddress) Port
func (router_address RouterAddress) Port() (string, error)
func (RouterAddress) PortString
func (router_address RouterAddress) PortString() I2PString
func (RouterAddress) ProtocolVersion
func (router_address RouterAddress) ProtocolVersion() (string, error)
func (RouterAddress) ProtocolVersionString
func (router_address RouterAddress) ProtocolVersionString() I2PString
func (RouterAddress) StaticKey
func (router_address RouterAddress) StaticKey() ([32]byte, error)
func (RouterAddress) StaticKeyString
func (router_address RouterAddress) StaticKeyString() I2PString
func (*RouterAddress) String
func (router_address *RouterAddress) String() string
String implements net.Addr. It returns the IP address, followed by the options
func (RouterAddress) TransportStyle
func (router_address RouterAddress) TransportStyle() I2PString
TransportStyle returns the transport style for this RouterAddress as an I2PString.
func (*RouterAddress) UDP
func (router_address *RouterAddress) UDP() bool
router_address
github.com/go-i2p/go-i2p/lib/common/router_address