diff --git a/callgraph.sh b/callgraph.sh index f88b94f..c1eee21 100755 --- a/callgraph.sh +++ b/callgraph.sh @@ -12,7 +12,8 @@ for dir in $dirs; do packageLine=$(grep -E "^package" $file) package=$(echo $packageLine | awk '{print $2}') echo "Generating callgraph for $package" - go-callvis -nostd -focus "$package" -group pkg,type -format svg -file $dir/$package "github.com/go-i2p/go-i2p/$dir" - godocdown -template template.md -o "$dir/doc.md" "./$dir" - git add -v "$dir/$package.svg" "$dir/doc.md" + go-callvis -nostd -focus "$package" -group type -format svg -file $dir/$package "github.com/go-i2p/go-i2p/$dir" + git mv -v "$dir/doc.md" "$dir/README.md" + godocdown -template template.md -o "$dir/README.md" "./$dir" + git add -v "$dir/$package.svg" "$dir/README.md" done \ No newline at end of file diff --git a/lib/bootstrap/doc.md b/lib/bootstrap/README.md similarity index 52% rename from lib/bootstrap/doc.md rename to lib/bootstrap/README.md index fd64940..dd21afc 100644 --- a/lib/bootstrap/doc.md +++ b/lib/bootstrap/README.md @@ -2,35 +2,11 @@ -- import "github.com/go-i2p/go-i2p/lib/bootstrap" -provides generic interfaces for initial bootstrap into network and network -### reseeding - -## Usage - -#### type Bootstrap - -```go -type Bootstrap interface { - // get more peers for bootstrap - // try obtaining at most n router infos - // if n is 0 then try obtaining as many router infos as possible - // returns nil and error if we cannot fetch ANY router infos - // returns a channel that yields 1 slice of router infos containing n or fewer router infos, caller must close channel after use - GetPeers(n int) (chan []router_info.RouterInfo, error) -} -``` - -interface defining a way to bootstrap into the i2p network - -# bootstrap --- - import "github.com/go-i2p/go-i2p/lib/bootstrap" - -provides generic interfaces for initial bootstrap into network and network -### reseeding - ![bootstrap.svg](bootstrap) +provides generic interfaces for initial bootstrap into network and network +### reseeding + ## Usage #### type Bootstrap diff --git a/lib/common/base32/doc.md b/lib/common/base32/README.md similarity index 52% rename from lib/common/base32/doc.md rename to lib/common/base32/README.md index e163cd7..2dec6b5 100644 --- a/lib/common/base32/doc.md +++ b/lib/common/base32/README.md @@ -2,45 +2,11 @@ -- import "github.com/go-i2p/go-i2p/lib/common/base32" -Package base32 implmenets utilities for encoding and decoding text using I2P's -### alphabet - -## Usage - -```go -const I2PEncodeAlphabet = "abcdefghijklmnopqrstuvwxyz234567" -``` -I2PEncodeAlphabet is the base32 encoding used throughout I2P. RFC 3548 using -lowercase characters. - -```go -var I2PEncoding *b32.Encoding = b32.NewEncoding(I2PEncodeAlphabet) -``` -I2PEncoding is the standard base32 encoding used through I2P. - -#### func DecodeString - -```go -func DecodeString(data string) ([]byte, error) -``` -DecodeString decodes base64 string to []byte I2PEncoding - -#### func EncodeToString - -```go -func EncodeToString(data []byte) string -``` -EncodeToString encodes []byte to a base32 string using I2PEncoding - -# base32 --- - import "github.com/go-i2p/go-i2p/lib/common/base32" - -Package base32 implmenets utilities for encoding and decoding text using I2P's -### alphabet - ![base32.svg](base32) +Package base32 implmenets utilities for encoding and decoding text using I2P's +### alphabet + ## Usage ```go diff --git a/lib/common/base64/doc.md b/lib/common/base64/README.md similarity index 52% rename from lib/common/base64/doc.md rename to lib/common/base64/README.md index 0a397d7..cd0d479 100644 --- a/lib/common/base64/doc.md +++ b/lib/common/base64/README.md @@ -2,45 +2,11 @@ -- import "github.com/go-i2p/go-i2p/lib/common/base64" -Package base64 implmenets utilities for encoding and decoding text using I2P's -### alphabet - -## Usage - -```go -const I2PEncodeAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-~" -``` -I2PEncodeAlphabet is the base64 encoding used throughout I2P. RFC 4648 with "/"" -replaced with "~", and "+" replaced with "-". - -```go -var I2PEncoding *b64.Encoding = b64.NewEncoding(I2PEncodeAlphabet) -``` -I2PEncoding is the standard base64 encoding used through I2P. - -#### func DecodeString - -```go -func DecodeString(str string) ([]byte, error) -``` -DecodeString decodes base64 string to []byte I2PEncoding - -#### func EncodeToString - -```go -func EncodeToString(data []byte) string -``` -I2PEncoding is the standard base64 encoding used through I2P. - -# base64 --- - import "github.com/go-i2p/go-i2p/lib/common/base64" - -Package base64 implmenets utilities for encoding and decoding text using I2P's -### alphabet - ![base64.svg](base64) +Package base64 implmenets utilities for encoding and decoding text using I2P's +### alphabet + ## Usage ```go diff --git a/lib/common/certificate/doc.md b/lib/common/certificate/README.md similarity index 50% rename from lib/common/certificate/doc.md rename to lib/common/certificate/README.md index 1de36f7..0b685b1 100644 --- a/lib/common/certificate/doc.md +++ b/lib/common/certificate/README.md @@ -2,127 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/common/certificate" - -## Usage - -```go -const ( - CERT_NULL = iota - CERT_HASHCASH - CERT_HIDDEN - CERT_SIGNED - CERT_MULTIPLE - CERT_KEY -) -``` -Certificate Types - -```go -const CERT_MIN_SIZE = 3 -``` -CERT_MIN_SIZE is the minimum size of a valid Certificate in []byte 1 byte for -type 2 bytes for payload length - -#### func GetSignatureTypeFromCertificate - -```go -func GetSignatureTypeFromCertificate(cert Certificate) (int, error) -``` - -#### type Certificate - -```go -type Certificate struct { -} -``` - -Certificate is the representation of an I2P Certificate. - -https://geti2p.net/spec/common-structures#certificate - -#### func NewCertificate - -```go -func NewCertificate() *Certificate -``` -NewCertificate creates a new Certificate with default NULL type - -#### func NewCertificateDeux - -```go -func NewCertificateDeux(certType int, payload []byte) (*Certificate, error) -``` - -#### func NewCertificateWithType - -```go -func NewCertificateWithType(certType uint8, payload []byte) (*Certificate, error) -``` -NewCertificateWithType creates a new Certificate with specified type and payload - -#### func ReadCertificate - -```go -func ReadCertificate(data []byte) (certificate Certificate, remainder []byte, err error) -``` -ReadCertificate creates a Certificate from []byte and returns any ExcessBytes at -the end of the input. returns err if the certificate could not be read. - -#### func (*Certificate) Bytes - -```go -func (c *Certificate) Bytes() []byte -``` -Bytes returns the entire certificate in []byte form, trims payload to specified -length. - -#### func (*Certificate) Data - -```go -func (c *Certificate) Data() (data []byte) -``` -Data returns the payload of a Certificate, payload is trimmed to the specified -length. - -#### func (*Certificate) ExcessBytes - -```go -func (c *Certificate) ExcessBytes() []byte -``` -ExcessBytes returns the excess bytes in a certificate found after the specified -payload length. - -#### func (*Certificate) Length - -```go -func (c *Certificate) Length() (length int) -``` -Length returns the payload length of a Certificate. - -#### func (*Certificate) RawBytes - -```go -func (c *Certificate) RawBytes() []byte -``` -RawBytes returns the entire certificate in []byte form, includes excess payload -data. - -#### func (*Certificate) Type - -```go -func (c *Certificate) Type() (cert_type int) -``` -Type returns the Certificate type specified in the first byte of the -Certificate, - -# certificate --- - import "github.com/go-i2p/go-i2p/lib/common/certificate" - - - ![certificate.svg](certificate) + + ## Usage ```go diff --git a/lib/common/certificate/certificate.svg b/lib/common/certificate/certificate.svg index decd62b..e9deebf 100644 --- a/lib/common/certificate/certificate.svg +++ b/lib/common/certificate/certificate.svg @@ -4,365 +4,313 @@ - - + + gocallvis - + cluster_focus - -certificate - - -cluster_github.com/sirupsen/logrus - - -logrus - - - - -cluster_*github.com/sirupsen/logrus.Logger - - -(*Logger) - - - - -cluster_github.com/samber/oops - - -oops - - + +certificate -cluster_github.com/go-i2p/logger - - -logger - - - - -cluster_*github.com/go-i2p/logger.Logger - - -(*Logger) - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/data - - -data +cluster_github.com/go-i2p/go-i2p/lib/common/data.Integer + + +(Integer) -cluster_github.com/go-i2p/go-i2p/lib/common/data.Integer - - -(Integer) +cluster_*github.com/sirupsen/logrus.Logger + + +(*Logger) + + + + +cluster_*github.com/go-i2p/logger.Logger + + +(*Logger) cluster_*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate - -(*Certificate) - - - - - -github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateWithType - - -NewCertificateWithType - - - - - -github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt - - -NewIntegerFromInt - - - - - -github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateWithType->github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt - - - - - - - - -github.com/samber/oops.Errorf - - -Errorf - - - - - -github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateWithType->github.com/samber/oops.Errorf - - - + +(*Certificate) - + github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate - - -readCertificate + + +readCertificate - - -(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - -Int - - - - - -github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - - - - - - -(*github.com/go-i2p/logger.Logger).WithFields - - -WithFields - - - - - -github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(*github.com/go-i2p/logger.Logger).Error - - -Error - - - - - -github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate->(*github.com/go-i2p/logger.Logger).Error - - - + + +github.com/samber/oops.Errorf + + +oops +Errorf - + github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate->github.com/samber/oops.Errorf - - - + + + + + + + + +(*github.com/go-i2p/logger.Logger).WithFields + + +logger +WithFields + + + + + +github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(*github.com/go-i2p/logger.Logger).Error + + +logger +Error + + + + + +github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate->(*github.com/go-i2p/logger.Logger).Error + + + - + (*github.com/sirupsen/logrus.Logger).Debug - - -Debug + + +logrus +Debug - + github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + +data +Int + + + + + +github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateDeux - - -NewCertificateDeux - - - - - -github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateDeux->github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateDeux->(*github.com/go-i2p/logger.Logger).WithFields - - - + + +NewCertificateDeux - + github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateDeux->github.com/samber/oops.Errorf - - - + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt + + +data +NewIntegerFromInt + + + + + +github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateDeux->github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateDeux->(*github.com/go-i2p/logger.Logger).WithFields + + + - + github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateDeux->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - + github.com/go-i2p/go-i2p/lib/common/certificate.init - - -init + + +init - + github.com/go-i2p/logger.GetGoI2PLogger - - -GetGoI2PLogger + + +logger +GetGoI2PLogger - + github.com/go-i2p/go-i2p/lib/common/certificate.init->github.com/go-i2p/logger.GetGoI2PLogger - - - + + + - + github.com/go-i2p/go-i2p/lib/common/certificate.GetSignatureTypeFromCertificate - - -GetSignatureTypeFromCertificate - - - - - -(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type - - -Type - - - - - -github.com/go-i2p/go-i2p/lib/common/certificate.GetSignatureTypeFromCertificate->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type - - - + + +GetSignatureTypeFromCertificate - + github.com/go-i2p/go-i2p/lib/common/certificate.GetSignatureTypeFromCertificate->github.com/samber/oops.Errorf - - - + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type + + +Type + + + + + +github.com/go-i2p/go-i2p/lib/common/certificate.GetSignatureTypeFromCertificate->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type + + + - + github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate - - -ReadCertificate + + +ReadCertificate - + github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate->github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate - - - + + + - + (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).ExcessBytes - - -ExcessBytes + + +ExcessBytes - + github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).ExcessBytes - - - + + + - + github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + @@ -370,269 +318,298 @@ (*github.com/go-i2p/logger.Logger).Warn - -Warn + +logger +Warn - + github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate->(*github.com/go-i2p/logger.Logger).Warn - - - + + + - + github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - - -(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes - - -RawBytes + + +github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateWithType + + +NewCertificateWithType - - -(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes - - -Bytes + + +github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateWithType->github.com/samber/oops.Errorf + + + - - -(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).ExcessBytes->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - + + +github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateWithType->github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt + + + - + (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).ExcessBytes->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).ExcessBytes->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).ExcessBytes->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + - + (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes - - -Bytes + + +Bytes - + (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data - - -Data + + +Data - + (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes - - - + + + - + (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes + + +data +Bytes + + + + + +(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes + + + - + (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length - - -Length - - - - - -(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - + + +Length - + (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + - + (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length - - - + + + - + (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data->(*github.com/go-i2p/logger.Logger).Warn - - - + + + - + (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - - -(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).length - - -length + + +(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes + + +RawBytes - - -(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).length->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes - - - + + +(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes->(*github.com/go-i2p/logger.Logger).WithFields + + + - - -(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - + + +(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes + + + - + (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).length + + +length + + + + + +(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).length->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes + + + diff --git a/lib/common/data/doc.md b/lib/common/data/README.md similarity index 50% rename from lib/common/data/doc.md rename to lib/common/data/README.md index 2dceebf..ada3375 100644 --- a/lib/common/data/doc.md +++ b/lib/common/data/README.md @@ -2,318 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/common/data" -Package data implements common data structures used in higher level structures. - -## Usage - -```go -const DATE_SIZE = 8 -``` -DATE_SIZE is the length in bytes of an I2P Date. - -```go -const MAX_INTEGER_SIZE = 8 -``` -MAX_INTEGER_SIZE is the maximum length of an I2P integer in bytes. - -```go -const STRING_MAX_SIZE = 255 -``` -STRING_MAX_SIZE is the maximum number of bytes that can be stored in an I2P -string - -```go -var ( - ErrZeroLength = oops.Errorf("error parsing string: zero length") - ErrDataTooShort = oops.Errorf("string parsing warning: string data is shorter than specified by length") - ErrDataTooLong = oops.Errorf("string parsing warning: string contains data beyond length") - ErrLengthMismatch = oops.Errorf("error reading I2P string, length does not match data") - ErrMappingLengthMismatch = oops.Errorf("warning parsing mapping: mapping length exceeds provided data") -) -``` - -#### func PrintErrors - -```go -func PrintErrors(errs []error) -``` -PrintErrors prints a formatted list of errors to the console. - -#### func WrapErrors - -```go -func WrapErrors(errs []error) error -``` -WrapErrors compiles a slice of errors and returns them wrapped together as a -single error. - -#### type Date - -```go -type Date [8]byte -``` - -Date is the represenation of an I2P Date. - -https://geti2p.net/spec/common-structures#date - -#### func NewDate - -```go -func NewDate(data []byte) (date *Date, remainder []byte, err error) -``` -NewDate creates a new Date from []byte using ReadDate. Returns a pointer to Date -unlike ReadDate. - -#### func ReadDate - -```go -func ReadDate(data []byte) (date Date, remainder []byte, err error) -``` -ReadDate creates a Date from []byte using the first DATE_SIZE bytes. Any data -after DATE_SIZE is returned as a remainder. - -#### func (Date) Bytes - -```go -func (i Date) Bytes() []byte -``` -Bytes returns the raw []byte content of a Date. - -#### func (Date) Int - -```go -func (i Date) Int() int -``` -Int returns the Date as a Go integer. - -#### func (Date) Time - -```go -func (date Date) Time() (date_time time.Time) -``` -Time takes the value stored in date as an 8 byte big-endian integer representing -the number of milliseconds since the beginning of unix time and converts it to a -Go time.Time struct. - -#### type Hash - -```go -type Hash [32]byte -``` - -Hash is the represenation of an I2P Hash. - -https://geti2p.net/spec/common-structures#hash - -#### func HashData - -```go -func HashData(data []byte) (h Hash) -``` -HashData returns the SHA256 sum of a []byte input as Hash. - -#### func HashReader - -```go -func HashReader(r io.Reader) (h Hash, err error) -``` -HashReader returns the SHA256 sum from all data read from an io.Reader. return -error if one occurs while reading from reader - -#### func (Hash) Bytes - -```go -func (h Hash) Bytes() [32]byte -``` - -#### type I2PString - -```go -type I2PString []byte -``` - -I2PString is the represenation of an I2P String. - -https://geti2p.net/spec/common-structures#string - -#### func ReadI2PString - -```go -func ReadI2PString(data []byte) (str I2PString, remainder []byte, err error) -``` -ReadI2PString returns I2PString from a []byte. The remaining bytes after the -specified length are also returned. Returns a list of errors that occurred -during parsing. - -#### func ToI2PString - -```go -func ToI2PString(data string) (str I2PString, err error) -``` -ToI2PString converts a Go string to an I2PString. Returns error if the string -exceeds STRING_MAX_SIZE. - -#### func (I2PString) Data - -```go -func (str I2PString) Data() (data string, err error) -``` -Data returns the I2PString content as a string trimmed to the specified length -and not including the length byte. Returns error encountered by Length. - -#### func (I2PString) Length - -```go -func (str I2PString) Length() (length int, err error) -``` -Length returns the length specified in the first byte. Returns error if the -specified does not match the actual length or the string is otherwise invalid. - -#### type Integer - -```go -type Integer []byte -``` - -Integer is the represenation of an I2P Integer. - -https://geti2p.net/spec/common-structures#integer - -#### func NewInteger - -```go -func NewInteger(bytes []byte, size int) (integer *Integer, remainder []byte, err error) -``` -NewInteger creates a new Integer from []byte using ReadInteger. Limits the -length of the created Integer to MAX_INTEGER_SIZE. Returns a pointer to Integer -unlike ReadInteger. - -#### func NewIntegerFromInt - -```go -func NewIntegerFromInt(value int, size int) (integer *Integer, err error) -``` -NewIntegerFromInt creates a new Integer from a Go integer of a specified []byte -length. - -#### func ReadInteger - -```go -func ReadInteger(bytes []byte, size int) (Integer, []byte) -``` -ReadInteger returns an Integer from a []byte of specified length. The remaining -bytes after the specified length are also returned. - -#### func (Integer) Bytes - -```go -func (i Integer) Bytes() []byte -``` -Bytes returns the raw []byte content of an Integer. - -#### func (Integer) Int - -```go -func (i Integer) Int() int -``` -Int returns the Integer as a Go integer - -#### type Mapping - -```go -type Mapping struct { -} -``` - -Mapping is the represenation of an I2P Mapping. - -https://geti2p.net/spec/common-structures#mapping - -#### func GoMapToMapping - -```go -func GoMapToMapping(gomap map[string]string) (mapping *Mapping, err error) -``` -GoMapToMapping converts a Go map of unformatted strings to *Mapping. - -#### func NewMapping - -```go -func NewMapping(bytes []byte) (values *Mapping, remainder []byte, err []error) -``` -NewMapping creates a new *Mapping from []byte using ReadMapping. Returns a -pointer to Mapping unlike ReadMapping. - -#### func ReadMapping - -```go -func ReadMapping(bytes []byte) (mapping Mapping, remainder []byte, err []error) -``` -ReadMapping returns Mapping from a []byte. The remaining bytes after the -specified length are also returned. Returns a list of errors that occurred -during parsing. - -#### func ValuesToMapping - -```go -func ValuesToMapping(values MappingValues) *Mapping -``` -ValuesToMapping creates a *Mapping using MappingValues. The values are sorted in -the order defined in mappingOrder. - -#### func (*Mapping) Data - -```go -func (mapping *Mapping) Data() []byte -``` -Data returns a Mapping in its []byte form. - -#### func (*Mapping) HasDuplicateKeys - -```go -func (mapping *Mapping) HasDuplicateKeys() bool -``` -HasDuplicateKeys returns true if two keys in a mapping are identical. - -#### func (Mapping) Values - -```go -func (mapping Mapping) Values() MappingValues -``` -Values returns the values contained in a Mapping as MappingValues. - -#### type MappingValues - -```go -type MappingValues [][2]I2PString -``` - -MappingValues represents the parsed key value pairs inside of an I2P Mapping. - -#### func ReadMappingValues - -```go -func ReadMappingValues(remainder []byte, map_length Integer) (values *MappingValues, remainder_bytes []byte, errs []error) -``` -ReadMappingValues returns *MappingValues from a []byte. The remaining bytes -after the specified length are also returned. Returns a list of errors that -occurred during parsing. - -#### func (MappingValues) Get - -```go -func (m MappingValues) Get(key I2PString) I2PString -``` - -# data --- - import "github.com/go-i2p/go-i2p/lib/common/data" - -Package data implements common data structures used in higher level structures. - ![data.svg](data) +Package data implements common data structures used in higher level structures. + ## Usage ```go diff --git a/lib/common/data/data.svg b/lib/common/data/data.svg index b919c85..288720c 100644 --- a/lib/common/data/data.svg +++ b/lib/common/data/data.svg @@ -4,155 +4,317 @@ - - + + gocallvis - + cluster_focus - -data + +data - -cluster_github.com/sirupsen/logrus - - -logrus - - - - -cluster_*github.com/sirupsen/logrus.Logger - - -(*Logger) - - - - -cluster_github.com/samber/oops - - -oops + +cluster_github.com/go-i2p/go-i2p/lib/common/data.MappingValues + + +(MappingValues) -cluster_github.com/go-i2p/logger - - -logger - - - - -cluster_*github.com/go-i2p/logger.Logger - - -(*Logger) +cluster_github.com/go-i2p/go-i2p/lib/common/data.Mapping + + +(Mapping) -cluster_github.com/go-i2p/go-i2p/lib/common/data.MappingValues - - -(MappingValues) +cluster_github.com/go-i2p/go-i2p/lib/common/data.Integer + + +(Integer) -cluster_github.com/go-i2p/go-i2p/lib/common/data.Mapping - - -(Mapping) +cluster_github.com/go-i2p/go-i2p/lib/common/data.I2PString + + +(I2PString) -cluster_github.com/go-i2p/go-i2p/lib/common/data.Integer - - -(Integer) +cluster_github.com/go-i2p/go-i2p/lib/common/data.Date + + +(Date) -cluster_github.com/go-i2p/go-i2p/lib/common/data.I2PString - - -(I2PString) +cluster_*github.com/sirupsen/logrus.Logger + + +(*Logger) -cluster_github.com/go-i2p/go-i2p/lib/common/data.Date - - -(Date) +cluster_*github.com/go-i2p/logger.Logger + + +(*Logger) cluster_*github.com/go-i2p/go-i2p/lib/common/data.Mapping - -(*Mapping) + +(*Mapping) - + -github.com/go-i2p/go-i2p/lib/common/data.ReadDate - - -ReadDate +github.com/go-i2p/go-i2p/lib/common/data.ReadI2PString + + +ReadI2PString - - -(github.com/go-i2p/go-i2p/lib/common/data.Date).Int - - -Int + + +github.com/go-i2p/go-i2p/lib/common/data.NewInteger + + +NewInteger - - -github.com/go-i2p/go-i2p/lib/common/data.ReadDate->(github.com/go-i2p/go-i2p/lib/common/data.Date).Int - - - + + +github.com/go-i2p/go-i2p/lib/common/data.ReadI2PString->github.com/go-i2p/go-i2p/lib/common/data.NewInteger + + + - - -(*github.com/go-i2p/logger.Logger).WithFields - - -WithFields + + +(*github.com/go-i2p/logger.Logger).WithError + + +logger +WithError - - -github.com/go-i2p/go-i2p/lib/common/data.ReadDate->(*github.com/go-i2p/logger.Logger).WithFields - - - + + +github.com/go-i2p/go-i2p/lib/common/data.ReadI2PString->(*github.com/go-i2p/logger.Logger).WithError + + + - + (*github.com/go-i2p/logger.Logger).Error - - -Error + + +logger +Error + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadI2PString->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(*github.com/go-i2p/logger.Logger).WithFields + + +logger +WithFields + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadI2PString->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(*github.com/go-i2p/logger.Logger).Errorf + + +logger +Errorf + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadI2PString->(*github.com/go-i2p/logger.Logger).Errorf + + + + + + + + +(*github.com/sirupsen/logrus.Logger).Debug + + +logrus +Debug + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadI2PString->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length + + +Length + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadI2PString->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + +Int + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadI2PString->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadInteger + + +ReadInteger + + + + + +github.com/go-i2p/go-i2p/lib/common/data.NewInteger->github.com/go-i2p/go-i2p/lib/common/data.ReadInteger + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.intFromBytes + + +intFromBytes + + + + + +github.com/go-i2p/go-i2p/lib/common/data.stopValueRead + + +stopValueRead + + + + + +github.com/go-i2p/go-i2p/lib/common/data.stopValueRead->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.stopValueRead->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadDate + + +ReadDate + + + + + +github.com/samber/oops.Errorf + + +oops +Errorf + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadDate->github.com/samber/oops.Errorf + + + @@ -160,701 +322,269 @@ github.com/go-i2p/go-i2p/lib/common/data.ReadDate->(*github.com/go-i2p/logger.Logger).Error - - + + - - -github.com/samber/oops.Errorf - - -Errorf - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadDate->github.com/samber/oops.Errorf - - - - - - - - -(*github.com/sirupsen/logrus.Logger).Debug - - -Debug + + +github.com/go-i2p/go-i2p/lib/common/data.ReadDate->(*github.com/go-i2p/logger.Logger).WithFields + + + - -github.com/go-i2p/go-i2p/lib/common/data.ReadDate->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.intFromBytes - - -intFromBytes - - - - - -github.com/go-i2p/go-i2p/lib/common/data.NewMapping - - -NewMapping - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadMapping - - -ReadMapping - - - - - -github.com/go-i2p/go-i2p/lib/common/data.NewMapping->github.com/go-i2p/go-i2p/lib/common/data.ReadMapping - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/data.Mapping).Values - - -Values - - - - - -github.com/go-i2p/go-i2p/lib/common/data.NewMapping->(github.com/go-i2p/go-i2p/lib/common/data.Mapping).Values - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.NewMapping->(*github.com/go-i2p/logger.Logger).WithFields - - - +github.com/go-i2p/go-i2p/lib/common/data.ReadDate->(*github.com/sirupsen/logrus.Logger).Debug + + + - - -github.com/go-i2p/go-i2p/lib/common/data.NewMapping->(*github.com/sirupsen/logrus.Logger).Debug - - - + + +(github.com/go-i2p/go-i2p/lib/common/data.Date).Int + + +Int - - -github.com/go-i2p/go-i2p/lib/common/data.NewInteger - - -NewInteger - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadMapping->github.com/go-i2p/go-i2p/lib/common/data.NewInteger - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadMappingValues - - -ReadMappingValues - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadMapping->github.com/go-i2p/go-i2p/lib/common/data.ReadMappingValues - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - -Int - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadMapping->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadMapping->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadMapping->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(*github.com/go-i2p/logger.Logger).Warn - - -Warn - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadMapping->(*github.com/go-i2p/logger.Logger).Warn - - - - - - - - -(*github.com/go-i2p/logger.Logger).WithError - - -WithError - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadMapping->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadMapping->github.com/samber/oops.Errorf - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadMapping->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadInteger - - -ReadInteger - - - - - -github.com/go-i2p/go-i2p/lib/common/data.NewInteger->github.com/go-i2p/go-i2p/lib/common/data.ReadInteger - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadI2PString - - -ReadI2PString - - - - + -github.com/go-i2p/go-i2p/lib/common/data.ReadMappingValues->github.com/go-i2p/go-i2p/lib/common/data.ReadI2PString - - - +github.com/go-i2p/go-i2p/lib/common/data.ReadDate->(github.com/go-i2p/go-i2p/lib/common/data.Date).Int + + + - - -github.com/go-i2p/go-i2p/lib/common/data.stopValueRead - - -stopValueRead + + +github.com/go-i2p/go-i2p/lib/common/data.NewDate + + +NewDate - - -github.com/go-i2p/go-i2p/lib/common/data.ReadMappingValues->github.com/go-i2p/go-i2p/lib/common/data.stopValueRead - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.beginsWith - - -beginsWith - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadMappingValues->github.com/go-i2p/go-i2p/lib/common/data.beginsWith - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data - - -Data - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadMappingValues->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadMappingValues->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadMappingValues->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadMappingValues->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadMappingValues->(*github.com/go-i2p/logger.Logger).Warn - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadMappingValues->github.com/samber/oops.Errorf - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadMappingValues->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/sirupsen/logrus.Logger).Printf - - -Printf - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadMappingValues->(*github.com/sirupsen/logrus.Logger).Printf - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadI2PString->github.com/go-i2p/go-i2p/lib/common/data.NewInteger - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length - - -Length - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadI2PString->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadI2PString->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadI2PString->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadI2PString->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadI2PString->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(*github.com/go-i2p/logger.Logger).Errorf - - -Errorf - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadI2PString->(*github.com/go-i2p/logger.Logger).Errorf - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadI2PString->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.stopValueRead->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - + -github.com/go-i2p/go-i2p/lib/common/data.stopValueRead->(*github.com/sirupsen/logrus.Logger).Debug - - - +github.com/go-i2p/go-i2p/lib/common/data.NewDate->github.com/go-i2p/go-i2p/lib/common/data.ReadDate + + + - - -github.com/go-i2p/go-i2p/lib/common/data.beginsWith->(*github.com/go-i2p/logger.Logger).WithFields - - - + + +github.com/go-i2p/go-i2p/lib/common/data.NewDate->(*github.com/go-i2p/logger.Logger).WithError + + + - - -github.com/go-i2p/go-i2p/lib/common/data.beginsWith->(*github.com/sirupsen/logrus.Logger).Debug - - - + + +github.com/go-i2p/go-i2p/lib/common/data.NewDate->(*github.com/go-i2p/logger.Logger).Error + + + - - -github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt - - -NewIntegerFromInt + + +github.com/go-i2p/go-i2p/lib/common/data.NewDate->(*github.com/go-i2p/logger.Logger).WithFields + + + - - -github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt->github.com/go-i2p/go-i2p/lib/common/data.NewInteger - - - + + +github.com/go-i2p/go-i2p/lib/common/data.NewDate->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.NewDate->(github.com/go-i2p/go-i2p/lib/common/data.Date).Int + + + - + github.com/go-i2p/go-i2p/lib/common/data.GoMapToMapping - - -GoMapToMapping + + +GoMapToMapping - + github.com/go-i2p/go-i2p/lib/common/data.ToI2PString - - -ToI2PString + + +ToI2PString - + github.com/go-i2p/go-i2p/lib/common/data.GoMapToMapping->github.com/go-i2p/go-i2p/lib/common/data.ToI2PString - - - + + + - + github.com/go-i2p/go-i2p/lib/common/data.ValuesToMapping - - -ValuesToMapping + + +ValuesToMapping - + github.com/go-i2p/go-i2p/lib/common/data.GoMapToMapping->github.com/go-i2p/go-i2p/lib/common/data.ValuesToMapping - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.GoMapToMapping->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.GoMapToMapping->(*github.com/go-i2p/logger.Logger).Error - - - + + + - + github.com/go-i2p/go-i2p/lib/common/data.GoMapToMapping->(*github.com/go-i2p/logger.Logger).WithError - - - + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.GoMapToMapping->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.GoMapToMapping->(*github.com/go-i2p/logger.Logger).WithFields + + + - + github.com/go-i2p/go-i2p/lib/common/data.GoMapToMapping->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ToI2PString->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ToI2PString->(*github.com/go-i2p/logger.Logger).Error - - - + + + - + github.com/go-i2p/go-i2p/lib/common/data.ToI2PString->github.com/samber/oops.Errorf - - - + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ToI2PString->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ToI2PString->(*github.com/go-i2p/logger.Logger).WithFields + + + - + github.com/go-i2p/go-i2p/lib/common/data.ToI2PString->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ValuesToMapping->github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt - - - + + + - + github.com/go-i2p/go-i2p/lib/common/data.mappingOrder - - -mappingOrder + + +mappingOrder - + github.com/go-i2p/go-i2p/lib/common/data.ValuesToMapping->github.com/go-i2p/go-i2p/lib/common/data.mappingOrder - - - + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt + + +NewIntegerFromInt + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ValuesToMapping->github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt + + + - + github.com/go-i2p/go-i2p/lib/common/data.ValuesToMapping->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + @@ -862,458 +592,713 @@ github.com/go-i2p/go-i2p/lib/common/data.ValuesToMapping->(*github.com/sirupsen/logrus.Logger).Debug - - + + - - -github.com/go-i2p/go-i2p/lib/common/data.init - - -init - - - - - -github.com/go-i2p/logger.GetGoI2PLogger - - -GetGoI2PLogger - - - - - -github.com/go-i2p/go-i2p/lib/common/data.init->github.com/go-i2p/logger.GetGoI2PLogger - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.init->github.com/samber/oops.Errorf - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.NewDate - - -NewDate - - - - - -github.com/go-i2p/go-i2p/lib/common/data.NewDate->github.com/go-i2p/go-i2p/lib/common/data.ReadDate - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.NewDate->(github.com/go-i2p/go-i2p/lib/common/data.Date).Int - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.NewDate->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.NewDate->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.NewDate->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.NewDate->(*github.com/sirupsen/logrus.Logger).Debug - - - + + +github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt->github.com/go-i2p/go-i2p/lib/common/data.NewInteger + + + - + github.com/go-i2p/go-i2p/lib/common/data.WrapErrors - - -WrapErrors + + +WrapErrors - + github.com/go-i2p/go-i2p/lib/common/data.WrapErrors->github.com/samber/oops.Errorf - - - + + + - - -(*github.com/go-i2p/go-i2p/lib/common/data.Mapping).Data - - -Data + + +github.com/go-i2p/go-i2p/lib/common/data.ReadMappingValues + + +ReadMappingValues - - -(*github.com/go-i2p/go-i2p/lib/common/data.Mapping).Data->github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt - - - + + +github.com/go-i2p/go-i2p/lib/common/data.ReadMappingValues->github.com/go-i2p/go-i2p/lib/common/data.ReadI2PString + + + - - -(*github.com/go-i2p/go-i2p/lib/common/data.Mapping).Data->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length - - - + + +github.com/go-i2p/go-i2p/lib/common/data.ReadMappingValues->github.com/go-i2p/go-i2p/lib/common/data.stopValueRead + + + - - -(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes - - -Bytes - - - - + -(*github.com/go-i2p/go-i2p/lib/common/data.Mapping).Data->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes - - - +github.com/go-i2p/go-i2p/lib/common/data.ReadMappingValues->github.com/samber/oops.Errorf + + + - + + +github.com/go-i2p/go-i2p/lib/common/data.beginsWith + + +beginsWith + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadMappingValues->github.com/go-i2p/go-i2p/lib/common/data.beginsWith + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadMappingValues->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadMappingValues->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(*github.com/go-i2p/logger.Logger).Warn + + +logger +Warn + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadMappingValues->(*github.com/go-i2p/logger.Logger).Warn + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadMappingValues->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(*github.com/sirupsen/logrus.Logger).Printf + + +logrus +Printf + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadMappingValues->(*github.com/sirupsen/logrus.Logger).Printf + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data + + +Data + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadMappingValues->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadMappingValues->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.beginsWith->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.beginsWith->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.init + + +init + + + + + +github.com/go-i2p/go-i2p/lib/common/data.init->github.com/samber/oops.Errorf + + + + + + + + +github.com/go-i2p/logger.GetGoI2PLogger + + +logger +GetGoI2PLogger + + + + + +github.com/go-i2p/go-i2p/lib/common/data.init->github.com/go-i2p/logger.GetGoI2PLogger + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.NewMapping + + +NewMapping + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadMapping + + +ReadMapping + + + + + +github.com/go-i2p/go-i2p/lib/common/data.NewMapping->github.com/go-i2p/go-i2p/lib/common/data.ReadMapping + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.NewMapping->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.NewMapping->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/data.Mapping).Values + + +Values + + + + + +github.com/go-i2p/go-i2p/lib/common/data.NewMapping->(github.com/go-i2p/go-i2p/lib/common/data.Mapping).Values + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadMapping->github.com/go-i2p/go-i2p/lib/common/data.NewInteger + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadMapping->github.com/samber/oops.Errorf + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadMapping->github.com/go-i2p/go-i2p/lib/common/data.ReadMappingValues + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadMapping->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadMapping->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadMapping->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + -(*github.com/go-i2p/go-i2p/lib/common/data.Mapping).Data->(github.com/go-i2p/go-i2p/lib/common/data.Mapping).Values - - - +github.com/go-i2p/go-i2p/lib/common/data.ReadMapping->(*github.com/go-i2p/logger.Logger).Warn + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadMapping->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadMapping->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + - + (*github.com/go-i2p/go-i2p/lib/common/data.Mapping).HasDuplicateKeys - - -HasDuplicateKeys - - - - - -(*github.com/go-i2p/go-i2p/lib/common/data.Mapping).HasDuplicateKeys->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/data.Mapping).HasDuplicateKeys->(github.com/go-i2p/go-i2p/lib/common/data.Mapping).Values - - - + + +HasDuplicateKeys - + (*github.com/go-i2p/go-i2p/lib/common/data.Mapping).HasDuplicateKeys->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + (*github.com/go-i2p/go-i2p/lib/common/data.Mapping).HasDuplicateKeys->(*github.com/go-i2p/logger.Logger).Warn - - - + + + - + (*github.com/go-i2p/go-i2p/lib/common/data.Mapping).HasDuplicateKeys->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/data.Mapping).HasDuplicateKeys->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/data.Mapping).HasDuplicateKeys->(github.com/go-i2p/go-i2p/lib/common/data.Mapping).Values + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/data.Mapping).Data + + +Data + + + + + +(*github.com/go-i2p/go-i2p/lib/common/data.Mapping).Data->github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/data.Mapping).Data->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes + + +Bytes + + + + + +(*github.com/go-i2p/go-i2p/lib/common/data.Mapping).Data->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/data.Mapping).Data->(github.com/go-i2p/go-i2p/lib/common/data.Mapping).Values + + + - + (github.com/go-i2p/go-i2p/lib/common/data.Date).Int->github.com/go-i2p/go-i2p/lib/common/data.intFromBytes - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/data.Date).Bytes - - -Bytes + + +Bytes - + (github.com/go-i2p/go-i2p/lib/common/data.Date).Int->(github.com/go-i2p/go-i2p/lib/common/data.Date).Bytes - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/data.Date).Time - + Time - + (github.com/go-i2p/go-i2p/lib/common/data.Date).Time->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length->github.com/go-i2p/go-i2p/lib/common/data.NewInteger - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length->(*github.com/go-i2p/logger.Logger).Warn - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length->(*github.com/go-i2p/logger.Logger).WithError - - - + + + - - -(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length - - - + + +(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length->(*github.com/go-i2p/logger.Logger).Error + + + - - -(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data->(*github.com/go-i2p/logger.Logger).WithFields - - - + + +(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length->(*github.com/go-i2p/logger.Logger).WithFields + + + - + -(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data->(*github.com/go-i2p/logger.Logger).Error - - - +(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length->(*github.com/go-i2p/logger.Logger).Warn + + + - - -(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data->(*github.com/go-i2p/logger.Logger).Warn - - - + + +(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + - + (github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data->(*github.com/go-i2p/logger.Logger).WithError - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data->(*github.com/go-i2p/logger.Logger).Warn + + + - + (github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length + + + - + (github.com/go-i2p/go-i2p/lib/common/data.Integer).Int->github.com/go-i2p/go-i2p/lib/common/data.intFromBytes - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/data.Integer).Int->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/data.Mapping).Values->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/data.Mapping).Values->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/data.MappingValues).Get - - -Get - - - - - -(github.com/go-i2p/go-i2p/lib/common/data.MappingValues).Get->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data - - - + + +Get - + (github.com/go-i2p/go-i2p/lib/common/data.MappingValues).Get->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/data.MappingValues).Get->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/data.MappingValues).Get->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data + + + diff --git a/lib/common/destination/doc.md b/lib/common/destination/README.md similarity index 52% rename from lib/common/destination/doc.md rename to lib/common/destination/README.md index bd63bba..9f85738 100644 --- a/lib/common/destination/doc.md +++ b/lib/common/destination/README.md @@ -2,53 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/common/destination" -Package destination implements the I2P Destination common data structure - -## Usage - -#### type Destination - -```go -type Destination struct { - KeysAndCert -} -``` - -Destination is the represenation of an I2P Destination. - -https://geti2p.net/spec/common-structures#destination - -#### func ReadDestination - -```go -func ReadDestination(data []byte) (destination Destination, remainder []byte, err error) -``` -ReadDestination returns Destination from a []byte. The remaining bytes after the -specified length are also returned. Returns a list of errors that occurred -during parsing. - -#### func (Destination) Base32Address - -```go -func (destination Destination) Base32Address() (str string) -``` -Base32Address returns the I2P base32 address for this Destination. - -#### func (Destination) Base64 - -```go -func (destination Destination) Base64() string -``` -Base64 returns the I2P base64 address for this Destination. - -# destination --- - import "github.com/go-i2p/go-i2p/lib/common/destination" - -Package destination implements the I2P Destination common data structure - ![destination.svg](destination) +Package destination implements the I2P Destination common data structure + ## Usage #### type Destination diff --git a/lib/common/destination/destination.svg b/lib/common/destination/destination.svg index 7830903..c330c05 100644 --- a/lib/common/destination/destination.svg +++ b/lib/common/destination/destination.svg @@ -4,191 +4,81 @@ - - + + gocallvis - + cluster_focus - -destination - - -cluster_github.com/sirupsen/logrus - - -logrus - - - - -cluster_*github.com/sirupsen/logrus.Logger - - -(*Logger) - - - - -cluster_github.com/go-i2p/logger - - -logger - - - - -cluster_*github.com/go-i2p/logger.Logger - - -(*Logger) - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/keys_and_cert - - -keys_and_cert - - - - -cluster_*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert - - -(*KeysAndCert) - - + +destination cluster_github.com/go-i2p/go-i2p/lib/common/destination.Destination - -(Destination) - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/certificate - - -certificate + +(Destination) -cluster_*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate - - -(*Certificate) +cluster_*github.com/sirupsen/logrus.Logger + + +(*Logger) + + + + +cluster_*github.com/go-i2p/logger.Logger + + +(*Logger) -cluster_github.com/go-i2p/go-i2p/lib/common/base64 - - -base64 +cluster_*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert + + +(*KeysAndCert) -cluster_github.com/go-i2p/go-i2p/lib/common/base32 - - -base32 - - - - - -github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination - - -ReadDestination - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert - - -ReadKeysAndCert - - - - - -github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination->github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert - - - - - - - - -(*github.com/go-i2p/logger.Logger).WithFields - - -WithFields - - - - - -github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(*github.com/sirupsen/logrus.Logger).Debug - - -Debug - - - - - -github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination->(*github.com/sirupsen/logrus.Logger).Debug - - - +cluster_*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate + + +(*Certificate) - + github.com/go-i2p/go-i2p/lib/common/destination.init - - -init + + +init - + github.com/go-i2p/logger.GetGoI2PLogger - - -GetGoI2PLogger + + +logger +GetGoI2PLogger - + github.com/go-i2p/go-i2p/lib/common/destination.init->github.com/go-i2p/logger.GetGoI2PLogger - - - + + + @@ -196,62 +86,132 @@ github.com/go-i2p/go-i2p/lib/common/base32.EncodeToString - -EncodeToString + +base32 +EncodeToString + + + + + +github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination + + +ReadDestination + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert + + +keys_and_cert +ReadKeysAndCert + + + + + +github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination->github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert + + + + + + + + +(*github.com/go-i2p/logger.Logger).WithFields + + +logger +WithFields + + + + + +github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(*github.com/sirupsen/logrus.Logger).Debug + + +logrus +Debug + + + + + +github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination->(*github.com/sirupsen/logrus.Logger).Debug + + + - + github.com/go-i2p/go-i2p/lib/common/base64.EncodeToString - - -EncodeToString + + +base64 +EncodeToString - + (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes - - -Bytes - - - - - -(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address - - -Base32Address - - - - - -(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address->github.com/go-i2p/go-i2p/lib/common/base32.EncodeToString - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes - - - + + +certificate +Bytes - + (*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate - - -Certificate + + +keys_and_cert +Certificate + + + + + +(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address + + +Base32Address + + + + + +(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address->github.com/go-i2p/go-i2p/lib/common/base32.EncodeToString + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes + + + @@ -259,17 +219,17 @@ (github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate - - + + - + (github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + @@ -277,26 +237,26 @@ (github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address->(*github.com/sirupsen/logrus.Logger).Debug - - + + - + (github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64 - - -Base64 + + +Base64 - + (github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64->github.com/go-i2p/go-i2p/lib/common/base64.EncodeToString - - - + + + @@ -304,35 +264,35 @@ (github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes - - + + - + (github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + diff --git a/lib/common/fuzz/certificate/doc.md b/lib/common/fuzz/certificate/README.md similarity index 62% rename from lib/common/fuzz/certificate/doc.md rename to lib/common/fuzz/certificate/README.md index 3392e15..d85bded 100644 --- a/lib/common/fuzz/certificate/doc.md +++ b/lib/common/fuzz/certificate/README.md @@ -2,23 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/common/fuzz/certificate" - -## Usage - -#### func Fuzz - -```go -func Fuzz(data []byte) int -``` - -# exportable --- - import "github.com/go-i2p/go-i2p/lib/common/fuzz/certificate" - - - ![exportable.svg](exportable) + + ## Usage #### func Fuzz diff --git a/lib/common/fuzz/certificate/exportable.svg b/lib/common/fuzz/certificate/exportable.svg index f4f0a87..b7bc974 100644 --- a/lib/common/fuzz/certificate/exportable.svg +++ b/lib/common/fuzz/certificate/exportable.svg @@ -4,29 +4,21 @@ - - + + gocallvis - + cluster_focus - -exportable + +exportable -cluster_github.com/go-i2p/go-i2p/lib/common/certificate - - -certificate - - - - cluster_*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate - - -(*Certificate) + + +(*Certificate) @@ -34,8 +26,8 @@ github.com/go-i2p/go-i2p/lib/common/fuzz/certificate.Fuzz - -Fuzz + +Fuzz @@ -43,8 +35,9 @@ github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate - -ReadCertificate + +certificate +ReadCertificate @@ -52,8 +45,8 @@ github.com/go-i2p/go-i2p/lib/common/fuzz/certificate.Fuzz->github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate - - + + @@ -61,8 +54,9 @@ (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data - -Data + +certificate +Data @@ -70,8 +64,8 @@ github.com/go-i2p/go-i2p/lib/common/fuzz/certificate.Fuzz->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data - - + + @@ -79,8 +73,9 @@ (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length - -Length + +certificate +Length @@ -88,8 +83,8 @@ github.com/go-i2p/go-i2p/lib/common/fuzz/certificate.Fuzz->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length - - + + @@ -97,8 +92,9 @@ (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type - -Type + +certificate +Type @@ -106,8 +102,8 @@ github.com/go-i2p/go-i2p/lib/common/fuzz/certificate.Fuzz->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type - - + + diff --git a/lib/common/fuzz/destination/doc.md b/lib/common/fuzz/destination/README.md similarity index 62% rename from lib/common/fuzz/destination/doc.md rename to lib/common/fuzz/destination/README.md index 29024f4..bd4f7fe 100644 --- a/lib/common/fuzz/destination/doc.md +++ b/lib/common/fuzz/destination/README.md @@ -2,23 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/common/fuzz/destination" - -## Usage - -#### func Fuzz - -```go -func Fuzz(data []byte) int -``` - -# exportable --- - import "github.com/go-i2p/go-i2p/lib/common/fuzz/destination" - - - ![exportable.svg](exportable) + + ## Usage #### func Fuzz diff --git a/lib/common/fuzz/destination/exportable.svg b/lib/common/fuzz/destination/exportable.svg index c076b14..716fc57 100644 --- a/lib/common/fuzz/destination/exportable.svg +++ b/lib/common/fuzz/destination/exportable.svg @@ -4,29 +4,21 @@ - - + + gocallvis - + cluster_focus - -exportable + +exportable -cluster_github.com/go-i2p/go-i2p/lib/common/destination - - -destination - - - - cluster_github.com/go-i2p/go-i2p/lib/common/destination.Destination - - -(Destination) + + +(Destination) @@ -34,8 +26,8 @@ github.com/go-i2p/go-i2p/lib/common/fuzz/destination.Fuzz - -Fuzz + +Fuzz @@ -43,8 +35,9 @@ github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination - -ReadDestination + +destination +ReadDestination @@ -52,8 +45,8 @@ github.com/go-i2p/go-i2p/lib/common/fuzz/destination.Fuzz->github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination - - + + @@ -61,8 +54,9 @@ (github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address - -Base32Address + +destination +Base32Address @@ -70,8 +64,8 @@ github.com/go-i2p/go-i2p/lib/common/fuzz/destination.Fuzz->(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address - - + + @@ -79,8 +73,9 @@ (github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64 - -Base64 + +destination +Base64 @@ -88,8 +83,8 @@ github.com/go-i2p/go-i2p/lib/common/fuzz/destination.Fuzz->(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64 - - + + diff --git a/lib/common/fuzz/keys_and_cert/doc.md b/lib/common/fuzz/keys_and_cert/README.md similarity index 62% rename from lib/common/fuzz/keys_and_cert/doc.md rename to lib/common/fuzz/keys_and_cert/README.md index fb4db6e..8fe202e 100644 --- a/lib/common/fuzz/keys_and_cert/doc.md +++ b/lib/common/fuzz/keys_and_cert/README.md @@ -2,23 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/common/fuzz/keys_and_cert" - -## Usage - -#### func Fuzz - -```go -func Fuzz(data []byte) int -``` - -# exportable --- - import "github.com/go-i2p/go-i2p/lib/common/fuzz/keys_and_cert" - - - ![exportable.svg](exportable) + + ## Usage #### func Fuzz diff --git a/lib/common/fuzz/keys_and_cert/exportable.svg b/lib/common/fuzz/keys_and_cert/exportable.svg index 64e4f1d..8494ca0 100644 --- a/lib/common/fuzz/keys_and_cert/exportable.svg +++ b/lib/common/fuzz/keys_and_cert/exportable.svg @@ -4,38 +4,30 @@ - - + + gocallvis - + cluster_focus - -exportable + +exportable -cluster_github.com/go-i2p/go-i2p/lib/common/keys_and_cert - - -keys_and_cert - - - - cluster_*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert - - -(*KeysAndCert) + + +(*KeysAndCert) github.com/go-i2p/go-i2p/lib/common/fuzz/keys_and_cert.Fuzz - - -Fuzz + + +Fuzz @@ -43,17 +35,18 @@ github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert - -ReadKeysAndCert + +keys_and_cert +ReadKeysAndCert - + github.com/go-i2p/go-i2p/lib/common/fuzz/keys_and_cert.Fuzz->github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert - - - + + + @@ -61,17 +54,18 @@ (*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate - -Certificate + +keys_and_cert +Certificate - + github.com/go-i2p/go-i2p/lib/common/fuzz/keys_and_cert.Fuzz->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate - - - + + + @@ -79,17 +73,18 @@ (*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).PublicKey - -PublicKey + +keys_and_cert +PublicKey - + github.com/go-i2p/go-i2p/lib/common/fuzz/keys_and_cert.Fuzz->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).PublicKey - - - + + + @@ -97,17 +92,18 @@ (*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).SigningPublicKey - -SigningPublicKey + +keys_and_cert +SigningPublicKey - + github.com/go-i2p/go-i2p/lib/common/fuzz/keys_and_cert.Fuzz->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).SigningPublicKey - - - + + + diff --git a/lib/common/fuzz/router_address/doc.md b/lib/common/fuzz/router_address/README.md similarity index 62% rename from lib/common/fuzz/router_address/doc.md rename to lib/common/fuzz/router_address/README.md index 5c1ad29..f37aebc 100644 --- a/lib/common/fuzz/router_address/doc.md +++ b/lib/common/fuzz/router_address/README.md @@ -2,23 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/common/fuzz/router_address" - -## Usage - -#### func Fuzz - -```go -func Fuzz(data []byte) int -``` - -# exportable --- - import "github.com/go-i2p/go-i2p/lib/common/fuzz/router_address" - - - ![exportable.svg](exportable) + + ## Usage #### func Fuzz diff --git a/lib/common/fuzz/router_address/exportable.svg b/lib/common/fuzz/router_address/exportable.svg index ba85706..c078197 100644 --- a/lib/common/fuzz/router_address/exportable.svg +++ b/lib/common/fuzz/router_address/exportable.svg @@ -4,29 +4,21 @@ - - + + gocallvis - + cluster_focus - -exportable + +exportable -cluster_github.com/go-i2p/go-i2p/lib/common/router_address - - -router_address - - - - cluster_github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress - - -(RouterAddress) + + +(RouterAddress) @@ -34,8 +26,8 @@ github.com/go-i2p/go-i2p/lib/common/fuzz/router_address.Fuzz - -Fuzz + +Fuzz @@ -43,8 +35,9 @@ github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress - -ReadRouterAddress + +router_address +ReadRouterAddress @@ -52,8 +45,8 @@ github.com/go-i2p/go-i2p/lib/common/fuzz/router_address.Fuzz->github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress - - + + @@ -61,8 +54,9 @@ (github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Cost - -Cost + +router_address +Cost @@ -70,8 +64,8 @@ github.com/go-i2p/go-i2p/lib/common/fuzz/router_address.Fuzz->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Cost - - + + @@ -79,8 +73,9 @@ (github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Expiration - -Expiration + +router_address +Expiration @@ -88,8 +83,8 @@ github.com/go-i2p/go-i2p/lib/common/fuzz/router_address.Fuzz->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Expiration - - + + @@ -97,8 +92,9 @@ (github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Options - -Options + +router_address +Options @@ -106,8 +102,8 @@ github.com/go-i2p/go-i2p/lib/common/fuzz/router_address.Fuzz->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Options - - + + @@ -115,8 +111,9 @@ (github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle - -TransportStyle + +router_address +TransportStyle @@ -124,8 +121,8 @@ github.com/go-i2p/go-i2p/lib/common/fuzz/router_address.Fuzz->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle - - + + diff --git a/lib/common/fuzz/router_identity/doc.md b/lib/common/fuzz/router_identity/README.md similarity index 62% rename from lib/common/fuzz/router_identity/doc.md rename to lib/common/fuzz/router_identity/README.md index 2d085ac..7ebeab8 100644 --- a/lib/common/fuzz/router_identity/doc.md +++ b/lib/common/fuzz/router_identity/README.md @@ -2,23 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/common/fuzz/router_identity" - -## Usage - -#### func Fuzz - -```go -func Fuzz(data []byte) int -``` - -# exportable --- - import "github.com/go-i2p/go-i2p/lib/common/fuzz/router_identity" - - - ![exportable.svg](exportable) + + ## Usage #### func Fuzz diff --git a/lib/common/fuzz/router_identity/exportable.svg b/lib/common/fuzz/router_identity/exportable.svg index 69aa06a..722d469 100644 --- a/lib/common/fuzz/router_identity/exportable.svg +++ b/lib/common/fuzz/router_identity/exportable.svg @@ -4,37 +4,21 @@ - - + + gocallvis - + cluster_focus - -exportable - - -cluster_github.com/go-i2p/go-i2p/lib/common/router_identity - - -router_identity - - + +exportable -cluster_github.com/go-i2p/go-i2p/lib/common/keys_and_cert - - -keys_and_cert - - - - cluster_*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert - - -(*KeysAndCert) + + +(*KeysAndCert) @@ -42,35 +26,18 @@ github.com/go-i2p/go-i2p/lib/common/fuzz/router_identity.Fuzz - -Fuzz - - - - - -(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate - - -Certificate - - - - - -github.com/go-i2p/go-i2p/lib/common/fuzz/router_identity.Fuzz->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate - - - + +Fuzz - + github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity - - -ReadRouterIdentity + + +router_identity +ReadRouterIdentity @@ -78,8 +45,27 @@ github.com/go-i2p/go-i2p/lib/common/fuzz/router_identity.Fuzz->github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity - - + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate + + +keys_and_cert +Certificate + + + + + +github.com/go-i2p/go-i2p/lib/common/fuzz/router_identity.Fuzz->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate + + + diff --git a/lib/common/fuzz/string/doc.md b/lib/common/fuzz/string/README.md similarity index 62% rename from lib/common/fuzz/string/doc.md rename to lib/common/fuzz/string/README.md index 988905f..b330acf 100644 --- a/lib/common/fuzz/string/doc.md +++ b/lib/common/fuzz/string/README.md @@ -2,23 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/common/fuzz/string" - -## Usage - -#### func Fuzz - -```go -func Fuzz(data []byte) int -``` - -# exportable --- - import "github.com/go-i2p/go-i2p/lib/common/fuzz/string" - - - ![exportable.svg](exportable) + + ## Usage #### func Fuzz diff --git a/lib/common/fuzz/string/exportable.svg b/lib/common/fuzz/string/exportable.svg index b9e97dc..f43d576 100644 --- a/lib/common/fuzz/string/exportable.svg +++ b/lib/common/fuzz/string/exportable.svg @@ -4,29 +4,21 @@ - - + + gocallvis - + cluster_focus - -exportable + +exportable -cluster_github.com/go-i2p/go-i2p/lib/common/data - - -data - - - - cluster_github.com/go-i2p/go-i2p/lib/common/data.I2PString - - -(I2PString) + + +(I2PString) @@ -34,8 +26,8 @@ github.com/go-i2p/go-i2p/lib/common/fuzz/string.Fuzz - -Fuzz + +Fuzz @@ -43,8 +35,9 @@ github.com/go-i2p/go-i2p/lib/common/data.ToI2PString - -ToI2PString + +data +ToI2PString @@ -52,8 +45,8 @@ github.com/go-i2p/go-i2p/lib/common/fuzz/string.Fuzz->github.com/go-i2p/go-i2p/lib/common/data.ToI2PString - - + + @@ -61,8 +54,9 @@ (github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data - -Data + +data +Data @@ -70,8 +64,8 @@ github.com/go-i2p/go-i2p/lib/common/fuzz/string.Fuzz->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data - - + + @@ -79,8 +73,9 @@ (github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length - -Length + +data +Length @@ -88,8 +83,8 @@ github.com/go-i2p/go-i2p/lib/common/fuzz/string.Fuzz->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length - - + + diff --git a/lib/common/key_certificate/doc.md b/lib/common/key_certificate/README.md similarity index 50% rename from lib/common/key_certificate/doc.md rename to lib/common/key_certificate/README.md index 9b6c056..eaedea5 100644 --- a/lib/common/key_certificate/doc.md +++ b/lib/common/key_certificate/README.md @@ -2,201 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/common/key_certificate" -Package key_certificate implements the I2P Destination common data structure - -## Usage - -```go -const ( - KEYCERT_SIGN_DSA_SHA1 = 0 - KEYCERT_SIGN_P256 = 1 - KEYCERT_SIGN_P384 = 2 - KEYCERT_SIGN_P521 = 3 - KEYCERT_SIGN_RSA2048 = 4 - KEYCERT_SIGN_RSA3072 = 5 - KEYCERT_SIGN_RSA4096 = 6 - KEYCERT_SIGN_ED25519 = 7 - KEYCERT_SIGN_ED25519PH = 8 -) -``` -Key Certificate Signing Key Types - -```go -const ( - KEYCERT_CRYPTO_ELG = 0 - KEYCERT_CRYPTO_P256 = 1 - KEYCERT_CRYPTO_P384 = 2 - KEYCERT_CRYPTO_P521 = 3 - KEYCERT_CRYPTO_X25519 = 4 -) -``` -Key Certificate Public Key Types - -```go -const ( - KEYCERT_SIGN_DSA_SHA1_SIZE = 128 - KEYCERT_SIGN_P256_SIZE = 64 - KEYCERT_SIGN_P384_SIZE = 96 - KEYCERT_SIGN_P521_SIZE = 132 - KEYCERT_SIGN_RSA2048_SIZE = 256 - KEYCERT_SIGN_RSA3072_SIZE = 384 - KEYCERT_SIGN_RSA4096_SIZE = 512 - KEYCERT_SIGN_ED25519_SIZE = 32 - KEYCERT_SIGN_ED25519PH_SIZE = 32 -) -``` -signingPublicKey sizes for Signing Key Types - -```go -const ( - KEYCERT_CRYPTO_ELG_SIZE = 256 - KEYCERT_CRYPTO_P256_SIZE = 64 - KEYCERT_CRYPTO_P384_SIZE = 96 - KEYCERT_CRYPTO_P521_SIZE = 132 - KEYCERT_CRYPTO_X25519_SIZE = 32 -) -``` -publicKey sizes for Public Key Types - -```go -const ( - KEYCERT_PUBKEY_SIZE = 256 - KEYCERT_SPK_SIZE = 128 -) -``` -Sizes of structures in KeyCertificates - -```go -const ( - CRYPTO_KEY_TYPE_ELGAMAL = 0 // ElGamal - - // Signature Types - SIGNATURE_TYPE_DSA_SHA1 = 0 // DSA-SHA1 - SIGNATURE_TYPE_ED25519_SHA512 = 7 // Ed25519 -) -``` - -```go -const ( - KEYCERT_MIN_SIZE = 7 -) -``` - -```go -var CryptoPublicKeySizes = map[uint16]int{ - CRYPTO_KEY_TYPE_ELGAMAL: 256, -} -``` - -```go -var SignaturePublicKeySizes = map[uint16]int{ - SIGNATURE_TYPE_DSA_SHA1: 128, - SIGNATURE_TYPE_ED25519_SHA512: 32, -} -``` - -#### type KeyCertificate - -```go -type KeyCertificate struct { - Certificate - SpkType Integer - CpkType Integer -} -``` - -type KeyCertificate []byte - -#### func KeyCertificateFromCertificate - -```go -func KeyCertificateFromCertificate(cert Certificate) (*KeyCertificate, error) -``` - -#### func NewKeyCertificate - -```go -func NewKeyCertificate(bytes []byte) (key_certificate *KeyCertificate, remainder []byte, err error) -``` -NewKeyCertificate creates a new *KeyCertificate from []byte using -ReadCertificate. The remaining bytes after the specified length are also -returned. Returns a list of errors that occurred during parsing. - -#### func (KeyCertificate) ConstructPublicKey - -```go -func (keyCertificate KeyCertificate) ConstructPublicKey(data []byte) (public_key crypto.RecievingPublicKey, err error) -``` -ConstructPublicKey returns a publicKey constructed using any excess data that -may be stored in the KeyCertififcate. Returns enr errors encountered while -parsing. - -#### func (KeyCertificate) ConstructSigningPublicKey - -```go -func (keyCertificate KeyCertificate) ConstructSigningPublicKey(data []byte) (signing_public_key crypto.SigningPublicKey, err error) -``` -ConstructSigningPublicKey returns a SingingPublicKey constructed using any -excess data that may be stored in the KeyCertificate. Returns any errors -encountered while parsing. - -#### func (*KeyCertificate) CryptoPublicKeySize - -```go -func (keyCertificate *KeyCertificate) CryptoPublicKeySize() (int, error) -``` - -#### func (KeyCertificate) CryptoSize - -```go -func (keyCertificate KeyCertificate) CryptoSize() (size int) -``` -CryptoSize return the size of a Public Key corresponding to the Key -Certificate's publicKey type. - -#### func (KeyCertificate) Data - -```go -func (keyCertificate KeyCertificate) Data() ([]byte, error) -``` -Data returns the raw []byte contained in the Certificate. - -#### func (KeyCertificate) PublicKeyType - -```go -func (keyCertificate KeyCertificate) PublicKeyType() (pubkey_type int) -``` -PublicKeyType returns the publicKey type as a Go integer. - -#### func (KeyCertificate) SignatureSize - -```go -func (keyCertificate KeyCertificate) SignatureSize() (size int) -``` -SignatureSize return the size of a Signature corresponding to the Key -Certificate's signingPublicKey type. - -#### func (*KeyCertificate) SigningPublicKeySize - -```go -func (keyCertificate *KeyCertificate) SigningPublicKeySize() int -``` - -#### func (KeyCertificate) SigningPublicKeyType - -```go -func (keyCertificate KeyCertificate) SigningPublicKeyType() (signing_pubkey_type int) -``` -SigningPublicKeyType returns the signingPublicKey type as a Go integer. - -# key_certificate --- - import "github.com/go-i2p/go-i2p/lib/common/key_certificate" - -Package key_certificate implements the I2P Destination common data structure - ![key_certificate.svg](key_certificate) +Package key_certificate implements the I2P Destination common data structure + ## Usage ```go diff --git a/lib/common/key_certificate/key_certificate.svg b/lib/common/key_certificate/key_certificate.svg index 84a83ae..e3775cc 100644 --- a/lib/common/key_certificate/key_certificate.svg +++ b/lib/common/key_certificate/key_certificate.svg @@ -4,245 +4,156 @@ - - + + gocallvis - + cluster_focus - -key_certificate - - -cluster_github.com/sirupsen/logrus - - -logrus - - - - -cluster_*github.com/sirupsen/logrus.Logger - - -(*Logger) - - - - -cluster_github.com/samber/oops - - -oops - - - - -cluster_github.com/go-i2p/logger - - -logger - - - - -cluster_*github.com/go-i2p/logger.Logger - - -(*Logger) - - + +key_certificate cluster_github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate - -(KeyCertificate) - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/data - - -data + +(KeyCertificate) cluster_github.com/go-i2p/go-i2p/lib/common/data.Integer - - -(Integer) + + +(Integer) - -cluster_github.com/go-i2p/go-i2p/lib/common/certificate - - -certificate + +cluster_*github.com/sirupsen/logrus.Logger + + +(*Logger) -cluster_*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate - - -(*Certificate) +cluster_*github.com/go-i2p/logger.Logger + + +(*Logger) + + + + +cluster_*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate + + +(*KeyCertificate) -cluster_*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate - - -(*KeyCertificate) - - - - - -github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate - - -KeyCertificateFromCertificate - - - - - -(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type - - -Type - - - - - -github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data - - -Data - - - - - -github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - -Int - - - - - -github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - - - - - - -github.com/samber/oops.Errorf - - -Errorf - - - - - -github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate->github.com/samber/oops.Errorf - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/key_certificate.init - - -init - - - - - -github.com/go-i2p/logger.GetGoI2PLogger - - -GetGoI2PLogger - - - - - -github.com/go-i2p/go-i2p/lib/common/key_certificate.init->github.com/go-i2p/logger.GetGoI2PLogger - - - +cluster_*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate + + +(*Certificate) - + github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate - - -NewKeyCertificate + + +NewKeyCertificate - + github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate - - -ReadCertificate + + +certificate +ReadCertificate - + github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate - - - + + + + + + + + +github.com/samber/oops.Errorf + + +oops +Errorf + + + + + +github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->github.com/samber/oops.Errorf + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadInteger + + +data +ReadInteger + + + + + +github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->github.com/go-i2p/go-i2p/lib/common/data.ReadInteger + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type + + +certificate +Type - + github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type - - - + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data + + +certificate +Data @@ -250,539 +161,602 @@ github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadInteger - - -ReadInteger - - - - - -github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->github.com/go-i2p/go-i2p/lib/common/data.ReadInteger - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - + + - + (*github.com/go-i2p/logger.Logger).WithFields - - -WithFields + + +logger +WithFields - + github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(*github.com/go-i2p/logger.Logger).Error - - -Error - - - - - -github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->(*github.com/go-i2p/logger.Logger).Error - - - + + + - + (*github.com/go-i2p/logger.Logger).WithError - - -WithError + + +logger +WithError - + github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->(*github.com/go-i2p/logger.Logger).WithError - - - + + + - - -github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->github.com/samber/oops.Errorf - - - + + +(*github.com/go-i2p/logger.Logger).Error + + +logger +Error + + + + + +github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->(*github.com/go-i2p/logger.Logger).Error + + + - + (*github.com/sirupsen/logrus.Logger).Debug - - -Debug + + +logrus +Debug - + github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - + (*github.com/sirupsen/logrus.Logger).Println - - -Println + + +logrus +Println - + github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->(*github.com/sirupsen/logrus.Logger).Println - - - + + + - - -(*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeySize - - -SigningPublicKeySize + + +(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + +data +Int - - -(*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeySize->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - + + +github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + - - -(*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeySize->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - + -(*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoPublicKeySize - - -CryptoPublicKeySize +github.com/go-i2p/go-i2p/lib/common/key_certificate.init + + +init - + + +github.com/go-i2p/logger.GetGoI2PLogger + + +logger +GetGoI2PLogger + + + + + +github.com/go-i2p/go-i2p/lib/common/key_certificate.init->github.com/go-i2p/logger.GetGoI2PLogger + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate + + +KeyCertificateFromCertificate + + + + + +github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate->github.com/samber/oops.Errorf + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data + + + + + + + -(*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoPublicKeySize->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoPublicKeySize->github.com/samber/oops.Errorf - - - +github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + - + (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes - - -RawBytes + + +certificate +RawBytes - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType - - -PublicKeyType + + +(*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoPublicKeySize + + +CryptoPublicKeySize - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize - - -CryptoSize - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - + -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize->(*github.com/sirupsen/logrus.Logger).Debug - - - +(*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoPublicKeySize->github.com/samber/oops.Errorf + + + - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey - - -ConstructSigningPublicKey + + +(*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoPublicKeySize->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType - - -SigningPublicKeyType + + +(*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeySize + + +SigningPublicKeySize - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType - - - + + +(*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeySize->(*github.com/sirupsen/logrus.Logger).Debug + + + - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize - - -SignatureSize - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->(*github.com/go-i2p/logger.Logger).WithFields - - - + + +(*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeySize->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + - + (*github.com/go-i2p/logger.Logger).Warn - - -Warn + + +logger +Warn - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->(*github.com/go-i2p/logger.Logger).Warn - - - + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType + + +PublicKeyType - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->(*github.com/go-i2p/logger.Logger).Error - - - + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType->(*github.com/go-i2p/logger.Logger).WithFields + + + - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->github.com/samber/oops.Errorf - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType - - - - - - - + -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize->(*github.com/go-i2p/logger.Logger).WithFields - - - +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType->(*github.com/sirupsen/logrus.Logger).Debug + + + - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize->(*github.com/go-i2p/logger.Logger).Warn - - - + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize->(*github.com/sirupsen/logrus.Logger).Debug - - - + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize + + +CryptoSize + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType + + + - + (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).Data - - -Data + + +Data - + (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).Data->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).Data->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).Data->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType + + +SigningPublicKeyType + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey + + +ConstructSigningPublicKey + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->github.com/samber/oops.Errorf + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->(*github.com/go-i2p/logger.Logger).Warn + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize + + +SignatureSize + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize->(*github.com/go-i2p/logger.Logger).Warn + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType + + + - + (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey - - -ConstructPublicKey - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey->(*github.com/go-i2p/logger.Logger).Warn - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey->(*github.com/go-i2p/logger.Logger).Error - - - + + +ConstructPublicKey - + (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey->github.com/samber/oops.Errorf - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey->(*github.com/go-i2p/logger.Logger).Warn + + + - + (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize + + + diff --git a/lib/common/keys_and_cert/doc.md b/lib/common/keys_and_cert/README.md similarity index 50% rename from lib/common/keys_and_cert/doc.md rename to lib/common/keys_and_cert/README.md index f3c2c1b..bb9e9ff 100644 --- a/lib/common/keys_and_cert/doc.md +++ b/lib/common/keys_and_cert/README.md @@ -2,119 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/common/keys_and_cert" -Package keys_and_cert implements the I2P KeysAndCert common data structure - -## Usage - -```go -const ( - KEYS_AND_CERT_PUBKEY_SIZE = 256 - KEYS_AND_CERT_SPK_SIZE = 128 - KEYS_AND_CERT_MIN_SIZE = 387 - KEYS_AND_CERT_DATA_SIZE = 384 -) -``` -Sizes of various KeysAndCert structures and requirements - -#### type KeysAndCert - -```go -type KeysAndCert struct { - KeyCertificate *KeyCertificate - ReceivingPublic crypto.RecievingPublicKey - Padding []byte - SigningPublic crypto.SigningPublicKey -} -``` - -KeysAndCert is the represenation of an I2P KeysAndCert. - -https://geti2p.net/spec/common-structures#keysandcert - -#### func NewKeysAndCert - -```go -func NewKeysAndCert( - keyCertificate *KeyCertificate, - publicKey crypto.RecievingPublicKey, - padding []byte, - signingPublicKey crypto.SigningPublicKey, -) (*KeysAndCert, error) -``` -NewKeysAndCert creates a new KeysAndCert instance with the provided parameters. -It validates the sizes of the provided keys and padding before assembling the -struct. - -#### func ReadKeysAndCert - -```go -func ReadKeysAndCert(data []byte) (keys_and_cert KeysAndCert, remainder []byte, err error) -``` -ReadKeysAndCert creates a new *KeysAndCert from []byte using ReadKeysAndCert. -Returns a pointer to KeysAndCert unlike ReadKeysAndCert. - -#### func ReadKeysAndCertElgAndEd25519 - -```go -func ReadKeysAndCertElgAndEd25519(data []byte) (keysAndCert *KeysAndCert, remainder []byte, err error) -``` - -#### func (KeysAndCert) Bytes - -```go -func (keys_and_cert KeysAndCert) Bytes() []byte -``` -Bytes returns the entire keyCertificate in []byte form, trims payload to -specified length. - -#### func (*KeysAndCert) Certificate - -```go -func (keys_and_cert *KeysAndCert) Certificate() (cert Certificate) -``` -Certfificate returns the certificate. - -#### func (*KeysAndCert) PublicKey - -```go -func (keys_and_cert *KeysAndCert) PublicKey() (key crypto.RecievingPublicKey) -``` -publicKey returns the public key as a crypto.publicKey. - -#### func (*KeysAndCert) SigningPublicKey - -```go -func (keys_and_cert *KeysAndCert) SigningPublicKey() (signing_public_key crypto.SigningPublicKey) -``` -signingPublicKey returns the signing public key. - -#### type PrivateKeysAndCert - -```go -type PrivateKeysAndCert struct { - KeysAndCert - PK_KEY crypto.PrivateKey - SPK_KEY crypto.PrivateKey -} -``` - -PrivateKeysAndCert contains a KeysAndCert along with the corresponding private -keys for the Public Key and the Signing Public Key - -#### func NewPrivateKeysAndCert - -```go -func NewPrivateKeysAndCert() (*PrivateKeysAndCert, error) -``` - -# keys_and_cert --- - import "github.com/go-i2p/go-i2p/lib/common/keys_and_cert" - -Package keys_and_cert implements the I2P KeysAndCert common data structure - ![keys_and_cert.svg](keys_and_cert) +Package keys_and_cert implements the I2P KeysAndCert common data structure + ## Usage ```go diff --git a/lib/common/keys_and_cert/keys_and_cert.svg b/lib/common/keys_and_cert/keys_and_cert.svg index e73b7f3..09e198d 100644 --- a/lib/common/keys_and_cert/keys_and_cert.svg +++ b/lib/common/keys_and_cert/keys_and_cert.svg @@ -4,552 +4,526 @@ - - + + gocallvis - + cluster_focus - -keys_and_cert - - -cluster_github.com/sirupsen/logrus - - -logrus - - - - -cluster_*github.com/sirupsen/logrus.Logger - - -(*Logger) - - - - -cluster_github.com/samber/oops - - -oops - - - - -cluster_github.com/go-i2p/logger - - -logger - - - - -cluster_*github.com/go-i2p/logger.Logger - - -(*Logger) - - + +keys_and_cert cluster_github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert - -(KeysAndCert) - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/key_certificate - - -key_certificate + +(KeysAndCert) cluster_github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate - - -(KeyCertificate) + + +(KeyCertificate) - -cluster_github.com/go-i2p/go-i2p/lib/common/certificate - - -certificate + +cluster_*github.com/sirupsen/logrus.Logger + + +(*Logger) +cluster_*github.com/go-i2p/logger.Logger + + +(*Logger) + + + + cluster_*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate - - -(*Certificate) - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert - - -ReadKeysAndCert - - - - - -github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate - - -NewKeyCertificate - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize - - -CryptoSize - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize - - -SignatureSize - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey - - -ConstructPublicKey - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey - - -ConstructSigningPublicKey - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType - - -PublicKeyType - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType - - -SigningPublicKeyType - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType - - - - - - - - -(*github.com/go-i2p/logger.Logger).WithFields - - -WithFields - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(*github.com/go-i2p/logger.Logger).Error - - -Error - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(*github.com/go-i2p/logger.Logger).WithError - - -WithError - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -github.com/samber/oops.Errorf - - -Errorf - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->github.com/samber/oops.Errorf - - - - - - - - -(*github.com/sirupsen/logrus.Logger).Debug - - -Debug - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.init - - -init - - - - - -github.com/go-i2p/logger.GetGoI2PLogger - - -GetGoI2PLogger - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.init->github.com/go-i2p/logger.GetGoI2PLogger - - - + + +(*Certificate) - + github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert - - -NewKeysAndCert + + +NewKeysAndCert - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert->(*github.com/go-i2p/logger.Logger).Error - - - + + +github.com/samber/oops.Errorf + + +oops +Errorf - + github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert->github.com/samber/oops.Errorf - - - + + + + + + + + +(*github.com/go-i2p/logger.Logger).Error + + +logger +Error + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(*github.com/go-i2p/logger.Logger).WithFields + + +logger +WithFields + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(*github.com/sirupsen/logrus.Logger).Debug + + +logrus +Debug - + github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize + + +key_certificate +CryptoSize + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize + + +key_certificate +SignatureSize + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.init + + +init + + + + -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.constructSigningPublicKey - - -constructSigningPublicKey +github.com/go-i2p/logger.GetGoI2PLogger + + +logger +GetGoI2PLogger - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.constructSigningPublicKey->github.com/samber/oops.Errorf - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.constructPublicKey - - -constructPublicKey - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.constructPublicKey->github.com/samber/oops.Errorf - - - + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.init->github.com/go-i2p/logger.GetGoI2PLogger + + + - + github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519 - - -ReadKeysAndCertElgAndEd25519 - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519->github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519->(*github.com/go-i2p/logger.Logger).WithError - - - + + +ReadKeysAndCertElgAndEd25519 - + github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519->github.com/samber/oops.Errorf - - - + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate + + +key_certificate +NewKeyCertificate + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519->github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(*github.com/go-i2p/logger.Logger).WithError + + +logger +WithError + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519->(*github.com/go-i2p/logger.Logger).WithError + + + - + github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.constructSigningPublicKey + + +constructSigningPublicKey + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.constructSigningPublicKey->github.com/samber/oops.Errorf + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert + + +ReadKeysAndCert + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->github.com/samber/oops.Errorf + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey + + +key_certificate +ConstructPublicKey + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey + + +key_certificate +ConstructSigningPublicKey + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType + + +key_certificate +PublicKeyType + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType + + +key_certificate +SigningPublicKeyType + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.constructPublicKey + + +constructPublicKey + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.constructPublicKey->github.com/samber/oops.Errorf + + + - + (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes - - -Bytes + + +certificate +Bytes - + (github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes - - -Bytes + + +Bytes - + (github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + diff --git a/lib/common/lease/doc.md b/lib/common/lease/README.md similarity index 51% rename from lib/common/lease/doc.md rename to lib/common/lease/README.md index b2876f4..4ad9dc3 100644 --- a/lib/common/lease/doc.md +++ b/lib/common/lease/README.md @@ -2,78 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/common/lease" -Package lease implements the I2P lease common data structure - -## Usage - -```go -const ( - LEASE_SIZE = 44 - LEASE_TUNNEL_GW_SIZE = 32 - LEASE_TUNNEL_ID_SIZE = 4 -) -``` -Sizes in bytes of various components of a Lease - -#### type Lease - -```go -type Lease [LEASE_SIZE]byte -``` - - -#### func NewLease - -```go -func NewLease(tunnelGateway Hash, tunnelID uint32, expirationTime time.Time) (*Lease, error) -``` -NewLease creates a new Lease with the provided parameters. - -#### func NewLeaseFromBytes - -```go -func NewLeaseFromBytes(data []byte) (lease *Lease, remainder []byte, err error) -``` -NewLeaseFromBytes creates a new *Lease from []byte using ReadLease. Returns a -pointer to Lease unlike ReadLease. - -#### func ReadLease - -```go -func ReadLease(data []byte) (lease Lease, remainder []byte, err error) -``` -ReadLease returns Lease from a []byte. The remaining bytes after the specified -length are also returned. Returns a list of errors that occurred during parsing. - -#### func (Lease) Date - -```go -func (lease Lease) Date() (date Date) -``` -Date returns the date as an I2P Date. - -#### func (Lease) TunnelGateway - -```go -func (lease Lease) TunnelGateway() (hash Hash) -``` -TunnelGateway returns the tunnel gateway as a Hash. - -#### func (Lease) TunnelID - -```go -func (lease Lease) TunnelID() uint32 -``` -TunnelID returns the tunnel id as a uint23. - -# lease --- - import "github.com/go-i2p/go-i2p/lib/common/lease" - -Package lease implements the I2P lease common data structure - ![lease.svg](lease) +Package lease implements the I2P lease common data structure + ## Usage ```go diff --git a/lib/common/lease/lease.svg b/lib/common/lease/lease.svg index a45b534..48887ce 100644 --- a/lib/common/lease/lease.svg +++ b/lib/common/lease/lease.svg @@ -4,373 +4,72 @@ - - + + gocallvis - + cluster_focus - -lease - - -cluster_github.com/sirupsen/logrus - - -logrus - - - - -cluster_*github.com/sirupsen/logrus.Logger - - -(*Logger) - - - - -cluster_github.com/samber/oops - - -oops - - + +lease -cluster_github.com/go-i2p/logger - - -logger - - - - -cluster_*github.com/go-i2p/logger.Logger - - -(*Logger) +cluster_github.com/go-i2p/go-i2p/lib/common/lease.Lease + + +(Lease) -cluster_github.com/go-i2p/go-i2p/lib/common/lease.Lease - - -(Lease) - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/data - - -data +cluster_github.com/go-i2p/go-i2p/lib/common/data.Integer + + +(Integer) -cluster_github.com/go-i2p/go-i2p/lib/common/data.Integer - - -(Integer) +cluster_github.com/go-i2p/go-i2p/lib/common/data.Date + + +(Date) -cluster_github.com/go-i2p/go-i2p/lib/common/data.Date - - -(Date) +cluster_*github.com/sirupsen/logrus.Logger + + +(*Logger) - - -github.com/go-i2p/go-i2p/lib/common/lease.init - - -init - - - - - -github.com/go-i2p/logger.GetGoI2PLogger - - -GetGoI2PLogger - - - - - -github.com/go-i2p/go-i2p/lib/common/lease.init->github.com/go-i2p/logger.GetGoI2PLogger - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/lease.NewLease - - -NewLease - - - - - -(*github.com/go-i2p/logger.Logger).WithFields - - -WithFields - - - - - -github.com/go-i2p/go-i2p/lib/common/lease.NewLease->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(*github.com/sirupsen/logrus.Logger).Debug - - -Debug - - - - - -github.com/go-i2p/go-i2p/lib/common/lease.NewLease->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes - - -NewLeaseFromBytes + +cluster_*github.com/go-i2p/logger.Logger + + +(*Logger) - + github.com/go-i2p/go-i2p/lib/common/lease.ReadLease - - -ReadLease - - - - - -github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->github.com/go-i2p/go-i2p/lib/common/lease.ReadLease - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/data.Date).Time - - -Time - - - - - -github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(github.com/go-i2p/go-i2p/lib/common/data.Date).Time - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease.Lease).TunnelID - - -TunnelID - - - - - -github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(github.com/go-i2p/go-i2p/lib/common/lease.Lease).TunnelID - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease.Lease).Date - - -Date - - - - - -github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(github.com/go-i2p/go-i2p/lib/common/lease.Lease).Date - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(*github.com/go-i2p/logger.Logger).WithField - - -WithField - - - - - -github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(*github.com/go-i2p/logger.Logger).Error - - -Error - - - - - -github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(*github.com/go-i2p/logger.Logger).WithError - - -WithError - - - - - -github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(github.com/go-i2p/go-i2p/lib/common/data.Date).Time - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(github.com/go-i2p/go-i2p/lib/common/lease.Lease).TunnelID - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(github.com/go-i2p/go-i2p/lib/common/lease.Lease).Date - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(*github.com/go-i2p/logger.Logger).Error - - - + + +ReadLease - + github.com/samber/oops.Errorf - - -Errorf + + +oops +Errorf @@ -378,35 +77,313 @@ github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->github.com/samber/oops.Errorf - - + + + + + + + +(*github.com/go-i2p/logger.Logger).WithField + + +logger +WithField + + + + + +github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(*github.com/go-i2p/logger.Logger).WithFields + + +logger +WithFields + + + + + +github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(*github.com/go-i2p/logger.Logger).Error + + +logger +Error + + + + + +github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(*github.com/sirupsen/logrus.Logger).Debug + + +logrus +Debug - + github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/data.Date).Time + + +data +Time + + + + + +github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(github.com/go-i2p/go-i2p/lib/common/data.Date).Time + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease.Lease).TunnelID + + +TunnelID + + + + + +github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(github.com/go-i2p/go-i2p/lib/common/lease.Lease).TunnelID + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease.Lease).Date + + +Date + + + + + +github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(github.com/go-i2p/go-i2p/lib/common/lease.Lease).Date + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes + + +NewLeaseFromBytes + + + + + +github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->github.com/go-i2p/go-i2p/lib/common/lease.ReadLease + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(*github.com/go-i2p/logger.Logger).WithError + + +logger +WithError + + + + + +github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(github.com/go-i2p/go-i2p/lib/common/data.Date).Time + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(github.com/go-i2p/go-i2p/lib/common/lease.Lease).TunnelID + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(github.com/go-i2p/go-i2p/lib/common/lease.Lease).Date + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/lease.NewLease + + +NewLease + + + + + +github.com/go-i2p/go-i2p/lib/common/lease.NewLease->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/lease.NewLease->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/lease.init + + +init + + + + + +github.com/go-i2p/logger.GetGoI2PLogger + + +logger +GetGoI2PLogger + + + + + +github.com/go-i2p/go-i2p/lib/common/lease.init->github.com/go-i2p/logger.GetGoI2PLogger + + + - + (github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - -Int + + +data +Int - + (github.com/go-i2p/go-i2p/lib/common/lease.Lease).TunnelID->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - + + + diff --git a/lib/common/lease_set/doc.md b/lib/common/lease_set/README.md similarity index 50% rename from lib/common/lease_set/doc.md rename to lib/common/lease_set/README.md index 241a9f8..4512120 100644 --- a/lib/common/lease_set/doc.md +++ b/lib/common/lease_set/README.md @@ -2,130 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/common/lease_set" -Package lease_set implements the I2P LeastSet common data structure - -## Usage - -```go -const ( - LEASE_SET_PUBKEY_SIZE = 256 - LEASE_SET_SPK_SIZE = 128 - LEASE_SET_SIG_SIZE = 40 -) -``` -Sizes of various structures in an I2P LeaseSet - -#### func ReadDestinationFromLeaseSet - -```go -func ReadDestinationFromLeaseSet(data []byte) (destination Destination, remainder []byte, err error) -``` - -#### type LeaseSet - -```go -type LeaseSet []byte -``` - -LeaseSet is the represenation of an I2P LeaseSet. - -https://geti2p.net/spec/common-structures#leaseset - -#### func NewLeaseSet - -```go -func NewLeaseSet( - destination Destination, - encryptionKey crypto.RecievingPublicKey, - signingKey crypto.SigningPublicKey, - leases []Lease, - signingPrivateKey crypto.SigningPrivateKey, -) (LeaseSet, error) -``` - -#### func (LeaseSet) Destination - -```go -func (lease_set LeaseSet) Destination() (destination Destination, err error) -``` -Destination returns the Destination as []byte. - -#### func (LeaseSet) DestinationDeux - -```go -func (lease_set LeaseSet) DestinationDeux() (destination Destination, err error) -``` - -#### func (LeaseSet) LeaseCount - -```go -func (lease_set LeaseSet) LeaseCount() (count int, err error) -``` -LeaseCount returns the numbert of leases specified by the LeaseCount value as -int. returns errors encountered during parsing. - -#### func (LeaseSet) Leases - -```go -func (lease_set LeaseSet) Leases() (leases []Lease, err error) -``` -Leases returns the leases as []Lease. returns errors encountered during parsing. - -#### func (LeaseSet) NewestExpiration - -```go -func (lease_set LeaseSet) NewestExpiration() (newest Date, err error) -``` -NewestExpiration returns the newest lease expiration as an I2P Date. Returns -errors encountered during parsing. - -#### func (LeaseSet) OldestExpiration - -```go -func (lease_set LeaseSet) OldestExpiration() (earliest Date, err error) -``` -OldestExpiration returns the oldest lease expiration as an I2P Date. Returns -errors encountered during parsing. - -#### func (LeaseSet) PublicKey - -```go -func (lease_set LeaseSet) PublicKey() (public_key crypto.ElgPublicKey, err error) -``` -PublicKey returns the public key as crypto.ElgPublicKey. Returns errors -encountered during parsing. - -#### func (LeaseSet) Signature - -```go -func (lease_set LeaseSet) Signature() (signature signature.Signature, err error) -``` -Signature returns the signature as Signature. returns errors encountered during -parsing. - -#### func (LeaseSet) SigningKey - -```go -func (lease_set LeaseSet) SigningKey() (signing_public_key crypto.SigningPublicKey, err error) -``` -SigningKey returns the signing public key as crypto.SigningPublicKey. returns -errors encountered during parsing. - -#### func (LeaseSet) Verify - -```go -func (lease_set LeaseSet) Verify() error -``` -Verify returns nil - -# lease_set --- - import "github.com/go-i2p/go-i2p/lib/common/lease_set" - -Package lease_set implements the I2P LeastSet common data structure - ![lease_set.svg](lease_set) +Package lease_set implements the I2P LeastSet common data structure + ## Usage ```go diff --git a/lib/common/lease_set/lease_set.svg b/lib/common/lease_set/lease_set.svg index 5163da3..7bb7f26 100644 --- a/lib/common/lease_set/lease_set.svg +++ b/lib/common/lease_set/lease_set.svg @@ -4,255 +4,434 @@ - - + + gocallvis - + cluster_focus - -lease_set + +lease_set - -cluster_github.com/sirupsen/logrus - - -logrus - - - - -cluster_*github.com/sirupsen/logrus.Logger - - -(*Logger) - - - - -cluster_github.com/samber/oops - - -oops - - - - -cluster_github.com/go-i2p/logger - - -logger - - - - -cluster_*github.com/go-i2p/logger.Logger - - -(*Logger) - - - - + cluster_github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet - - -(LeaseSet) - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/lease - - -lease - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/lease.Lease - - -(Lease) + + +(LeaseSet) -cluster_github.com/go-i2p/go-i2p/lib/common/keys_and_cert - - -keys_and_cert - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert - - -(KeysAndCert) - - - - -cluster_*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert - - -(*KeysAndCert) - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/key_certificate - - -key_certificate +cluster_github.com/go-i2p/go-i2p/lib/common/lease.Lease + + +(Lease) +cluster_github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert + + +(KeysAndCert) + + + + cluster_github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate - - -(KeyCertificate) + + +(KeyCertificate) -cluster_github.com/go-i2p/go-i2p/lib/common/destination - - -destination - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/data - - -data +cluster_github.com/go-i2p/go-i2p/lib/common/data.Integer + + +(Integer) -cluster_github.com/go-i2p/go-i2p/lib/common/data.Integer - - -(Integer) +cluster_github.com/go-i2p/go-i2p/lib/common/data.Date + + +(Date) -cluster_github.com/go-i2p/go-i2p/lib/common/data.Date - - -(Date) +cluster_*github.com/sirupsen/logrus.Logger + + +(*Logger) - -cluster_github.com/go-i2p/go-i2p/lib/common/certificate - - -certificate + +cluster_*github.com/go-i2p/logger.Logger + + +(*Logger) -cluster_*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate - - -(*Certificate) +cluster_*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert + + +(*KeysAndCert) - + +cluster_*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate + + +(*Certificate) + + + + -github.com/go-i2p/go-i2p/lib/common/lease_set.NewLeaseSet - - -NewLeaseSet +github.com/go-i2p/go-i2p/lib/common/lease_set.init + + +init + + + + + +github.com/go-i2p/logger.GetGoI2PLogger + + +logger +GetGoI2PLogger + + + + + +github.com/go-i2p/go-i2p/lib/common/lease_set.init->github.com/go-i2p/logger.GetGoI2PLogger + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519 + + +keys_and_cert +ReadKeysAndCertElgAndEd25519 + + + + + +github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination + + +destination +ReadDestination + + + + + +github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert + + +keys_and_cert +ReadKeysAndCert + + + + + +github.com/samber/oops.Errorf + + +oops +Errorf + + + + + +github.com/go-i2p/go-i2p/lib/common/lease_set.ReadDestinationFromLeaseSet + + +ReadDestinationFromLeaseSet + + + + + +github.com/go-i2p/go-i2p/lib/common/lease_set.ReadDestinationFromLeaseSet->github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/lease_set.ReadDestinationFromLeaseSet->github.com/samber/oops.Errorf + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate + + +certificate +ReadCertificate + + + + + +github.com/go-i2p/go-i2p/lib/common/lease_set.ReadDestinationFromLeaseSet->github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length + + +certificate +Length + + + + + +github.com/go-i2p/go-i2p/lib/common/lease_set.ReadDestinationFromLeaseSet->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length + + + - + (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type - - -Type + + +certificate +Type - - -github.com/go-i2p/go-i2p/lib/common/lease_set.NewLeaseSet->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt - - -NewIntegerFromInt - - - - - -github.com/go-i2p/go-i2p/lib/common/lease_set.NewLeaseSet->github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes - - -Bytes - - - - - -github.com/go-i2p/go-i2p/lib/common/lease_set.NewLeaseSet->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes - - - + + +github.com/go-i2p/go-i2p/lib/common/lease_set.ReadDestinationFromLeaseSet->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type + + + - + github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate - - -KeyCertificateFromCertificate + + +key_certificate +KeyCertificateFromCertificate + + + + + +github.com/go-i2p/go-i2p/lib/common/lease_set.NewLeaseSet + + +NewLeaseSet + + + + + +github.com/go-i2p/go-i2p/lib/common/lease_set.NewLeaseSet->github.com/samber/oops.Errorf + + + - + github.com/go-i2p/go-i2p/lib/common/lease_set.NewLeaseSet->github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate - - - + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt + + +data +NewIntegerFromInt + + + + + +github.com/go-i2p/go-i2p/lib/common/lease_set.NewLeaseSet->github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/lease_set.NewLeaseSet->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate + + +keys_and_cert +Certificate + + + + + +github.com/go-i2p/go-i2p/lib/common/lease_set.NewLeaseSet->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate + + + + + + + + +(*github.com/go-i2p/logger.Logger).WithError + + +logger +WithError + + + + + +github.com/go-i2p/go-i2p/lib/common/lease_set.NewLeaseSet->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(*github.com/go-i2p/logger.Logger).Error + + +logger +Error + + + + + +github.com/go-i2p/go-i2p/lib/common/lease_set.NewLeaseSet->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(*github.com/go-i2p/logger.Logger).WithFields + + +logger +WithFields + + + + + +github.com/go-i2p/go-i2p/lib/common/lease_set.NewLeaseSet->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(*github.com/sirupsen/logrus.Logger).Debug + + +logrus +Debug + + + + + +github.com/go-i2p/go-i2p/lib/common/lease_set.NewLeaseSet->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes + + +data +Bytes + + + + + +github.com/go-i2p/go-i2p/lib/common/lease_set.NewLeaseSet->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes + + + - + (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize - - -SignatureSize + + +key_certificate +SignatureSize @@ -260,35 +439,18 @@ github.com/go-i2p/go-i2p/lib/common/lease_set.NewLeaseSet->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate - - -Certificate - - - - - -github.com/go-i2p/go-i2p/lib/common/lease_set.NewLeaseSet->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate - - - + + - + (github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes - - -Bytes + + +keys_and_cert +Bytes @@ -296,1007 +458,797 @@ github.com/go-i2p/go-i2p/lib/common/lease_set.NewLeaseSet->(github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes - - - - - - - -(*github.com/go-i2p/logger.Logger).WithError - - -WithError - - - - - -github.com/go-i2p/go-i2p/lib/common/lease_set.NewLeaseSet->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(*github.com/go-i2p/logger.Logger).Error - - -Error - - - - - -github.com/go-i2p/go-i2p/lib/common/lease_set.NewLeaseSet->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(*github.com/go-i2p/logger.Logger).WithFields - - -WithFields - - - - - -github.com/go-i2p/go-i2p/lib/common/lease_set.NewLeaseSet->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -github.com/samber/oops.Errorf - - -Errorf - - - - - -github.com/go-i2p/go-i2p/lib/common/lease_set.NewLeaseSet->github.com/samber/oops.Errorf - - - - - - - - -(*github.com/sirupsen/logrus.Logger).Debug - - -Debug - - - - - -github.com/go-i2p/go-i2p/lib/common/lease_set.NewLeaseSet->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/lease_set.ReadDestinationFromLeaseSet - - -ReadDestinationFromLeaseSet - - - - - -github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate - - -ReadCertificate - - - - - -github.com/go-i2p/go-i2p/lib/common/lease_set.ReadDestinationFromLeaseSet->github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/lease_set.ReadDestinationFromLeaseSet->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length - - -Length - - - - - -github.com/go-i2p/go-i2p/lib/common/lease_set.ReadDestinationFromLeaseSet->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert - - -ReadKeysAndCert - - - - - -github.com/go-i2p/go-i2p/lib/common/lease_set.ReadDestinationFromLeaseSet->github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/lease_set.ReadDestinationFromLeaseSet->github.com/samber/oops.Errorf - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/lease_set.init - - -init - - - - - -github.com/go-i2p/logger.GetGoI2PLogger - - -GetGoI2PLogger - - - - - -github.com/go-i2p/go-i2p/lib/common/lease_set.init->github.com/go-i2p/logger.GetGoI2PLogger - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/data.Date).Time - - -Time - - - - - -(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - -Int - - - - - -github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination - - -ReadDestination - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey - - -ConstructSigningPublicKey - - - - - -github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519 - - -ReadKeysAndCertElgAndEd25519 - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease.Lease).Date - - -Date - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Destination - - -Destination - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Destination->github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Destination->github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519 - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Destination->(github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Destination->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Destination->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Destination->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).NewestExpiration - - -NewestExpiration - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).NewestExpiration->(github.com/go-i2p/go-i2p/lib/common/data.Date).Time - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).NewestExpiration->(github.com/go-i2p/go-i2p/lib/common/lease.Lease).Date - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Leases - - -Leases - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).NewestExpiration->(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Leases - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).NewestExpiration->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).NewestExpiration->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(*github.com/go-i2p/logger.Logger).WithField - - -WithField - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).NewestExpiration->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).NewestExpiration->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Leases->(github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Leases->(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Destination - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).LeaseCount - - -LeaseCount - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Leases->(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).LeaseCount - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Leases->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Leases->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Leases->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Leases->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Leases->github.com/samber/oops.Errorf - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Leases->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).LeaseCount->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).LeaseCount->github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).LeaseCount->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).LeaseCount->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).LeaseCount->(*github.com/go-i2p/logger.Logger).WithFields - - - + + - + (*github.com/go-i2p/logger.Logger).Warn - - -Warn + + +logger +Warn - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).LeaseCount->(*github.com/go-i2p/logger.Logger).Warn - - - + + +(*github.com/go-i2p/logger.Logger).WithField + + +logger +WithField - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).LeaseCount->(*github.com/go-i2p/logger.Logger).WithField - - - + + +(github.com/go-i2p/go-i2p/lib/common/data.Date).Time + + +data +Time + + + + + +(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + +data +Int + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey + + +key_certificate +ConstructSigningPublicKey + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease.Lease).Date + + +lease +Date + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).NewestExpiration + + +NewestExpiration + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).NewestExpiration->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).NewestExpiration->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).NewestExpiration->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).NewestExpiration->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).NewestExpiration->(github.com/go-i2p/go-i2p/lib/common/data.Date).Time + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).NewestExpiration->(github.com/go-i2p/go-i2p/lib/common/lease.Lease).Date + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Leases + + +Leases + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).NewestExpiration->(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Leases + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Leases->github.com/samber/oops.Errorf + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Leases->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Leases->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Leases->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Leases->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Leases->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Leases->(github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Destination + + +Destination + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Leases->(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Destination + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).LeaseCount + + +LeaseCount + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Leases->(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).LeaseCount + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Destination->github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519 + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Destination->github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Destination->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Destination->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Destination->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Destination->(github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).LeaseCount->github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert + + + - + (github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).LeaseCount->github.com/samber/oops.Errorf - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).LeaseCount->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).LeaseCount->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).LeaseCount->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).LeaseCount->(*github.com/go-i2p/logger.Logger).Warn + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).LeaseCount->(*github.com/go-i2p/logger.Logger).WithField + + + - + (github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).LeaseCount->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).PublicKey - - -PublicKey - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).PublicKey->github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).PublicKey->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).PublicKey->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).PublicKey->github.com/samber/oops.Errorf - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).PublicKey->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature - - -Signature - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature->github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature->(github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature->(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Destination - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature->(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).LeaseCount - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature->github.com/samber/oops.Errorf - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature->(*github.com/sirupsen/logrus.Logger).Debug - - - + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).LeaseCount->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + - + (github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).DestinationDeux - - -DestinationDeux + + +DestinationDeux - + (github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).DestinationDeux->github.com/go-i2p/go-i2p/lib/common/lease_set.ReadDestinationFromLeaseSet - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Verify - - -Verify + + +Verify - + (github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Verify->(*github.com/go-i2p/logger.Logger).Warn - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Verify->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature + + +Signature + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature->github.com/samber/oops.Errorf + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature->github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature->(github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature->(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Destination + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Signature->(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).LeaseCount + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).PublicKey + + +PublicKey + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).PublicKey->github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).PublicKey->github.com/samber/oops.Errorf + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).PublicKey->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).PublicKey->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).PublicKey->(*github.com/sirupsen/logrus.Logger).Debug + + + - + (github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).SigningKey - - -SigningKey - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).SigningKey->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).SigningKey->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).SigningKey->github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).SigningKey->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).SigningKey->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).SigningKey->(github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).SigningKey->(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Destination - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).SigningKey->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).SigningKey->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).SigningKey->(*github.com/go-i2p/logger.Logger).WithFields - - - + + +SigningKey - + (github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).SigningKey->github.com/samber/oops.Errorf - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).SigningKey->github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).SigningKey->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).SigningKey->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).SigningKey->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).SigningKey->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).SigningKey->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).SigningKey->(*github.com/go-i2p/logger.Logger).WithFields + + + - + (github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).SigningKey->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).SigningKey->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).SigningKey->(github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).SigningKey->(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Destination + + + - + (github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).OldestExpiration - - -OldestExpiration - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).OldestExpiration->(github.com/go-i2p/go-i2p/lib/common/data.Date).Time - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).OldestExpiration->(github.com/go-i2p/go-i2p/lib/common/lease.Lease).Date - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).OldestExpiration->(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Leases - - - + + +OldestExpiration - + (github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).OldestExpiration->(*github.com/go-i2p/logger.Logger).WithError - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).OldestExpiration->(*github.com/go-i2p/logger.Logger).Error - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).OldestExpiration->(*github.com/go-i2p/logger.Logger).WithField - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).OldestExpiration->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).OldestExpiration->(github.com/go-i2p/go-i2p/lib/common/data.Date).Time + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).OldestExpiration->(github.com/go-i2p/go-i2p/lib/common/lease.Lease).Date + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).OldestExpiration->(github.com/go-i2p/go-i2p/lib/common/lease_set.LeaseSet).Leases + + + diff --git a/lib/common/router_address/doc.md b/lib/common/router_address/README.md similarity index 50% rename from lib/common/router_address/doc.md rename to lib/common/router_address/README.md index 02bc3ec..81b4d25 100644 --- a/lib/common/router_address/doc.md +++ b/lib/common/router_address/README.md @@ -2,211 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/common/router_address" -Package router_address implements the I2P RouterAddress common data structure - -## Usage - -```go -const ( - ROUTER_ADDRESS_MIN_SIZE = 9 -) -``` -Minimum number of bytes in a valid RouterAddress - -#### type RouterAddress - -```go -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 - -```go -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 - -```go -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 - -```go -func (router_address RouterAddress) Bytes() []byte -``` -Bytes returns the router address as a []byte. - -#### func (RouterAddress) CapsString - -```go -func (router_address RouterAddress) CapsString() I2PString -``` - -#### func (RouterAddress) Cost - -```go -func (router_address RouterAddress) Cost() int -``` -Cost returns the cost for this RouterAddress as a Go integer. - -#### func (RouterAddress) Expiration - -```go -func (router_address RouterAddress) Expiration() Date -``` -Expiration returns the expiration for this RouterAddress as an I2P Date. - -#### func (RouterAddress) GetOption - -```go -func (router_address RouterAddress) GetOption(key I2PString) I2PString -``` -GetOption returns the value of the option specified by the key - -#### func (RouterAddress) Host - -```go -func (router_address RouterAddress) Host() (net.Addr, error) -``` - -#### func (RouterAddress) HostString - -```go -func (router_address RouterAddress) HostString() I2PString -``` - -#### func (*RouterAddress) IPVersion - -```go -func (router_address *RouterAddress) IPVersion() string -``` -IPVersion returns a string "4" for IPv4 or 6 for IPv6 - -#### func (RouterAddress) InitializationVector - -```go -func (router_address RouterAddress) InitializationVector() ([16]byte, error) -``` - -#### func (RouterAddress) InitializationVectorString - -```go -func (router_address RouterAddress) InitializationVectorString() I2PString -``` - -#### func (RouterAddress) IntroducerExpirationString - -```go -func (router_address RouterAddress) IntroducerExpirationString(num int) I2PString -``` - -#### func (RouterAddress) IntroducerHashString - -```go -func (router_address RouterAddress) IntroducerHashString(num int) I2PString -``` - -#### func (RouterAddress) IntroducerTagString - -```go -func (router_address RouterAddress) IntroducerTagString(num int) I2PString -``` - -#### func (*RouterAddress) Network - -```go -func (router_address *RouterAddress) Network() string -``` -Network implements net.Addr. It returns the transport type plus 4 or 6 - -#### func (RouterAddress) Options - -```go -func (router_address RouterAddress) Options() Mapping -``` -Options returns the options for this RouterAddress as an I2P Mapping. - -#### func (RouterAddress) Port - -```go -func (router_address RouterAddress) Port() (string, error) -``` - -#### func (RouterAddress) PortString - -```go -func (router_address RouterAddress) PortString() I2PString -``` - -#### func (RouterAddress) ProtocolVersion - -```go -func (router_address RouterAddress) ProtocolVersion() (string, error) -``` - -#### func (RouterAddress) ProtocolVersionString - -```go -func (router_address RouterAddress) ProtocolVersionString() I2PString -``` - -#### func (RouterAddress) StaticKey - -```go -func (router_address RouterAddress) StaticKey() ([32]byte, error) -``` - -#### func (RouterAddress) StaticKeyString - -```go -func (router_address RouterAddress) StaticKeyString() I2PString -``` - -#### func (*RouterAddress) String - -```go -func (router_address *RouterAddress) String() string -``` -String implements net.Addr. It returns the IP address, followed by the options - -#### func (RouterAddress) TransportStyle - -```go -func (router_address RouterAddress) TransportStyle() I2PString -``` -TransportStyle returns the transport style for this RouterAddress as an -I2PString. - -#### func (*RouterAddress) UDP - -```go -func (router_address *RouterAddress) UDP() bool -``` - -# router_address --- - import "github.com/go-i2p/go-i2p/lib/common/router_address" - -Package router_address implements the I2P RouterAddress common data structure - ![router_address.svg](router_address) +Package router_address implements the I2P RouterAddress common data structure + ## Usage ```go diff --git a/lib/common/router_address/router_address.svg b/lib/common/router_address/router_address.svg index cb073c4..f425607 100644 --- a/lib/common/router_address/router_address.svg +++ b/lib/common/router_address/router_address.svg @@ -4,1385 +4,1375 @@ - - + + gocallvis - + cluster_focus - -router_address - - -cluster_github.com/sirupsen/logrus - - -logrus - - - - -cluster_*github.com/sirupsen/logrus.Logger - - -(*Logger) - - - - -cluster_github.com/samber/oops - - -oops - - + +router_address -cluster_github.com/go-i2p/logger - - -logger - - - - -cluster_*github.com/go-i2p/logger.Logger - - -(*Logger) +cluster_github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress + + +(RouterAddress) -cluster_github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress - - -(RouterAddress) - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/data - - -data +cluster_github.com/go-i2p/go-i2p/lib/common/data.MappingValues + + +(MappingValues) -cluster_github.com/go-i2p/go-i2p/lib/common/data.MappingValues - - -(MappingValues) +cluster_github.com/go-i2p/go-i2p/lib/common/data.Mapping + + +(Mapping) -cluster_github.com/go-i2p/go-i2p/lib/common/data.Mapping - - -(Mapping) +cluster_github.com/go-i2p/go-i2p/lib/common/data.Integer + + +(Integer) -cluster_github.com/go-i2p/go-i2p/lib/common/data.Integer - - -(Integer) +cluster_github.com/go-i2p/go-i2p/lib/common/data.I2PString + + +(I2PString) -cluster_github.com/go-i2p/go-i2p/lib/common/data.I2PString - - -(I2PString) +cluster_github.com/go-i2p/go-i2p/lib/common/data.Date + + +(Date) -cluster_github.com/go-i2p/go-i2p/lib/common/data.Date - - -(Date) +cluster_*github.com/sirupsen/logrus.Logger + + +(*Logger) -cluster_*github.com/go-i2p/go-i2p/lib/common/data.Mapping - - -(*Mapping) +cluster_*github.com/go-i2p/logger.Logger + + +(*Logger) + + + + +cluster_*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress + + +(*RouterAddress) -cluster_*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress - - -(*RouterAddress) - - - - - -github.com/go-i2p/go-i2p/lib/common/router_address.NewRouterAddress - - -NewRouterAddress +cluster_*github.com/go-i2p/go-i2p/lib/common/data.Mapping + + +(*Mapping) - + github.com/go-i2p/go-i2p/lib/common/data.ToI2PString - - -ToI2PString + + +data +ToI2PString + + + + + +github.com/go-i2p/go-i2p/lib/common/router_address.NewRouterAddress + + +NewRouterAddress - + github.com/go-i2p/go-i2p/lib/common/router_address.NewRouterAddress->github.com/go-i2p/go-i2p/lib/common/data.ToI2PString - - - + + + - + github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt - - -NewIntegerFromInt + + +data +NewIntegerFromInt - + github.com/go-i2p/go-i2p/lib/common/router_address.NewRouterAddress->github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt - - - + + + - + github.com/go-i2p/go-i2p/lib/common/data.NewDate - - -NewDate + + +data +NewDate - + github.com/go-i2p/go-i2p/lib/common/router_address.NewRouterAddress->github.com/go-i2p/go-i2p/lib/common/data.NewDate - - - + + + - + github.com/go-i2p/go-i2p/lib/common/data.GoMapToMapping - - -GoMapToMapping + + +data +GoMapToMapping - + github.com/go-i2p/go-i2p/lib/common/router_address.NewRouterAddress->github.com/go-i2p/go-i2p/lib/common/data.GoMapToMapping - - - + + + - + (*github.com/go-i2p/logger.Logger).WithError - - -WithError + + +logger +WithError - + github.com/go-i2p/go-i2p/lib/common/router_address.NewRouterAddress->(*github.com/go-i2p/logger.Logger).WithError - - - + + + - + (*github.com/go-i2p/logger.Logger).Error - - -Error + + +logger +Error - + github.com/go-i2p/go-i2p/lib/common/router_address.NewRouterAddress->(*github.com/go-i2p/logger.Logger).Error - - - + + + - + (*github.com/go-i2p/logger.Logger).WithFields - - -WithFields + + +logger +WithFields - + github.com/go-i2p/go-i2p/lib/common/router_address.NewRouterAddress->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + (*github.com/sirupsen/logrus.Logger).Debug - - -Debug + + +logrus +Debug - + github.com/go-i2p/go-i2p/lib/common/router_address.NewRouterAddress->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/router_address.init - - -init - - - - - -github.com/go-i2p/logger.GetGoI2PLogger - - -GetGoI2PLogger - - - - - -github.com/go-i2p/go-i2p/lib/common/router_address.init->github.com/go-i2p/logger.GetGoI2PLogger - - - + + + - + github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress - - -ReadRouterAddress + + +ReadRouterAddress - + github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress->github.com/go-i2p/go-i2p/lib/common/data.NewDate - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.NewInteger - - -NewInteger - - - - - -github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress->github.com/go-i2p/go-i2p/lib/common/data.NewInteger - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ReadI2PString - - -ReadI2PString - - - - - -github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress->github.com/go-i2p/go-i2p/lib/common/data.ReadI2PString - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.NewMapping - - -NewMapping - - - - - -github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress->github.com/go-i2p/go-i2p/lib/common/data.NewMapping - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(*github.com/go-i2p/logger.Logger).WithField - - -WithField - - - - - -github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(*github.com/go-i2p/logger.Logger).Warn - - -Warn - - - - - -github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress->(*github.com/go-i2p/logger.Logger).Warn - - - + + + - + github.com/samber/oops.Errorf - - -Errorf + + +oops +Errorf - + github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress->github.com/samber/oops.Errorf - - - + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.NewInteger + + +data +NewInteger + + + + + +github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress->github.com/go-i2p/go-i2p/lib/common/data.NewInteger + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ReadI2PString + + +data +ReadI2PString + + + + + +github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress->github.com/go-i2p/go-i2p/lib/common/data.ReadI2PString + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.NewMapping + + +data +NewMapping + + + + + +github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress->github.com/go-i2p/go-i2p/lib/common/data.NewMapping + + + + + + + + +(*github.com/go-i2p/logger.Logger).Warn + + +logger +Warn + + + + + +github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress->(*github.com/go-i2p/logger.Logger).Warn + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(*github.com/go-i2p/logger.Logger).WithField + + +logger +WithField + + + + + +github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress->(*github.com/go-i2p/logger.Logger).WithFields + + + - -github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String - - -String - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).UDP - - -UDP - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String->(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).UDP - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).InitializationVectorString - - -InitializationVectorString - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).InitializationVectorString - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKeyString - - -StaticKeyString - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKeyString - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).HostString - - -HostString - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).HostString - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IntroducerExpirationString - - -IntroducerExpirationString - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IntroducerExpirationString - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).PortString - - -PortString - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).PortString - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle - - -TransportStyle - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).ProtocolVersionString - - -ProtocolVersionString - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).ProtocolVersionString - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IntroducerHashString - - -IntroducerHashString - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IntroducerHashString - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IntroducerTagString - - -IntroducerTagString - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IntroducerTagString - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Network - - -Network - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).UDP->(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Network - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).UDP->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).UDP->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IPVersion - - -IPVersion - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Network->(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IPVersion - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data - - -Data - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Network->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Network->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Network->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Network->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Network->(*github.com/go-i2p/logger.Logger).Warn - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Network->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IPVersion->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).CapsString - - -CapsString - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IPVersion->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).CapsString - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IPVersion->(*github.com/go-i2p/logger.Logger).WithError - - - +github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress->(*github.com/sirupsen/logrus.Logger).Debug + + + - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IPVersion->(*github.com/go-i2p/logger.Logger).Error - - - + + +github.com/go-i2p/go-i2p/lib/common/router_address.init + + +init - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IPVersion->(*github.com/sirupsen/logrus.Logger).Debug - - - + + +github.com/go-i2p/logger.GetGoI2PLogger + + +logger +GetGoI2PLogger + + + + + +github.com/go-i2p/go-i2p/lib/common/router_address.init->github.com/go-i2p/logger.GetGoI2PLogger + + + - + (*github.com/go-i2p/go-i2p/lib/common/data.Mapping).Data - - -Data + + +data +Data + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).UDP + + +UDP + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Network + + +Network + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).UDP->(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Network + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).UDP->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).UDP->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IPVersion + + +IPVersion + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Network->(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IPVersion + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Network->(*github.com/go-i2p/logger.Logger).Warn + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Network->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Network->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Network->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Network->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data + + +data +Data + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Network->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IPVersion->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IPVersion->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IPVersion->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IPVersion->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).CapsString + + +CapsString + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IPVersion->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).CapsString + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String + + +String + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String->(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).UDP + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).PortString + + +PortString + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).PortString + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKeyString + + +StaticKeyString + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKeyString + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).ProtocolVersionString + + +ProtocolVersionString + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).ProtocolVersionString + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IntroducerHashString + + +IntroducerHashString + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IntroducerHashString + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).InitializationVectorString + + +InitializationVectorString + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).InitializationVectorString + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IntroducerTagString + + +IntroducerTagString + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IntroducerTagString + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle + + +TransportStyle + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).HostString + + +HostString + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).HostString + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IntroducerExpirationString + + +IntroducerExpirationString + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IntroducerExpirationString + + + - + (github.com/go-i2p/go-i2p/lib/common/data.Date).Bytes - - -Bytes - - - - - -(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes - - -Bytes + + +data +Bytes - + (github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - -Int + + +data +Int + + + + + +(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes + + +data +Bytes - + (github.com/go-i2p/go-i2p/lib/common/data.Mapping).Values - - -Values + + +data +Values - + (github.com/go-i2p/go-i2p/lib/common/data.MappingValues).Get - - -Get - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).InitializationVectorString->github.com/go-i2p/go-i2p/lib/common/data.ToI2PString - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).GetOption - - -GetOption - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).InitializationVectorString->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).GetOption - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).GetOption->(github.com/go-i2p/go-i2p/lib/common/data.Mapping).Values - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).GetOption->(github.com/go-i2p/go-i2p/lib/common/data.MappingValues).Get - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Options - - -Options - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).GetOption->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Options - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKeyString->github.com/go-i2p/go-i2p/lib/common/data.ToI2PString - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKeyString->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).GetOption - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKey - - -StaticKey - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKey->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKeyString - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKey->github.com/samber/oops.Errorf - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Host - - -Host - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Host->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Host->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).HostString - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Host->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Host->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Host->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Host->github.com/samber/oops.Errorf - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Host->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).HostString->github.com/go-i2p/go-i2p/lib/common/data.ToI2PString - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).HostString->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).GetOption - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IntroducerExpirationString->github.com/go-i2p/go-i2p/lib/common/data.ToI2PString - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IntroducerExpirationString->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).GetOption - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).PortString->github.com/go-i2p/go-i2p/lib/common/data.ToI2PString - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).PortString->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).GetOption - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Bytes - - -Bytes - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Bytes->(*github.com/go-i2p/go-i2p/lib/common/data.Mapping).Data - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Bytes->(github.com/go-i2p/go-i2p/lib/common/data.Date).Bytes - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Bytes->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Bytes->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Bytes->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).ProtocolVersionString->github.com/go-i2p/go-i2p/lib/common/data.ToI2PString - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).ProtocolVersionString->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).GetOption - - - + + +data +Get - + (github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).CapsString->github.com/go-i2p/go-i2p/lib/common/data.ToI2PString - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).GetOption + + +GetOption - + (github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).CapsString->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).GetOption - - - + + + - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IntroducerHashString->github.com/go-i2p/go-i2p/lib/common/data.ToI2PString - - - + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).GetOption->(github.com/go-i2p/go-i2p/lib/common/data.Mapping).Values + + + - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IntroducerHashString->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).GetOption - - - + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).GetOption->(github.com/go-i2p/go-i2p/lib/common/data.MappingValues).Get + + + - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IntroducerTagString->github.com/go-i2p/go-i2p/lib/common/data.ToI2PString - - - + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Options + + +Options - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IntroducerTagString->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).GetOption - - - + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).GetOption->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Options + + + - + (github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Port - - -Port - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Port->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Port->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).PortString - - - + + +Port - + (github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Port->(*github.com/go-i2p/logger.Logger).WithError - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Port->(*github.com/go-i2p/logger.Logger).Error - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Port->(*github.com/go-i2p/logger.Logger).WithField - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Port->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).InitializationVector - - -InitializationVector + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Port->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data + + + - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).InitializationVector->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).InitializationVectorString - - - + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Port->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).PortString + + + - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).InitializationVector->github.com/samber/oops.Errorf - - - + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).PortString->github.com/go-i2p/go-i2p/lib/common/data.ToI2PString + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).PortString->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).GetOption + + + - + (github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Cost - - -Cost + + +Cost - + (github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Cost->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKeyString->github.com/go-i2p/go-i2p/lib/common/data.ToI2PString + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKeyString->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).GetOption + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).ProtocolVersionString->github.com/go-i2p/go-i2p/lib/common/data.ToI2PString + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).ProtocolVersionString->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).GetOption + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IntroducerHashString->github.com/go-i2p/go-i2p/lib/common/data.ToI2PString + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IntroducerHashString->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).GetOption + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).InitializationVectorString->github.com/go-i2p/go-i2p/lib/common/data.ToI2PString + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).InitializationVectorString->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).GetOption + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IntroducerTagString->github.com/go-i2p/go-i2p/lib/common/data.ToI2PString + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IntroducerTagString->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).GetOption + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).HostString->github.com/go-i2p/go-i2p/lib/common/data.ToI2PString + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).HostString->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).GetOption + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IntroducerExpirationString->github.com/go-i2p/go-i2p/lib/common/data.ToI2PString + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).IntroducerExpirationString->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).GetOption + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Bytes + + +Bytes + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Bytes->(*github.com/go-i2p/go-i2p/lib/common/data.Mapping).Data + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Bytes->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Bytes->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Bytes->(github.com/go-i2p/go-i2p/lib/common/data.Date).Bytes + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Bytes->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).InitializationVector + + +InitializationVector + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).InitializationVector->github.com/samber/oops.Errorf + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).InitializationVector->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).InitializationVectorString + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKey + + +StaticKey + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKey->github.com/samber/oops.Errorf + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKey->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKeyString + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Host + + +Host + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Host->github.com/samber/oops.Errorf + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Host->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Host->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Host->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Host->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Host->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Host->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).HostString + + + - + (github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).ProtocolVersion - - -ProtocolVersion + + +ProtocolVersion - + (github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).ProtocolVersion->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).ProtocolVersion->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).ProtocolVersionString - - - + + + diff --git a/lib/common/router_identity/doc.md b/lib/common/router_identity/README.md similarity index 52% rename from lib/common/router_identity/doc.md rename to lib/common/router_identity/README.md index de2c9e3..c21b295 100644 --- a/lib/common/router_identity/doc.md +++ b/lib/common/router_identity/README.md @@ -2,51 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/common/router_identity" -Package router_identity implements the I2P RouterIdentity common data structure - -## Usage - -#### type RouterIdentity - -```go -type RouterIdentity struct { - KeysAndCert -} -``` - -RouterIdentity is the represenation of an I2P RouterIdentity. - -https://geti2p.net/spec/common-structures#routeridentity - -#### func NewRouterIdentity - -```go -func NewRouterIdentity(publicKey crypto.RecievingPublicKey, signingPublicKey crypto.SigningPublicKey, cert certificate.Certificate, padding []byte) (*RouterIdentity, error) -``` - -#### func ReadRouterIdentity - -```go -func ReadRouterIdentity(data []byte) (router_identity RouterIdentity, remainder []byte, err error) -``` -ReadRouterIdentity returns RouterIdentity from a []byte. The remaining bytes -after the specified length are also returned. Returns a list of errors that -occurred during parsing. - -#### func (*RouterIdentity) AsDestination - -```go -func (router_identity *RouterIdentity) AsDestination() destination.Destination -``` - -# router_identity --- - import "github.com/go-i2p/go-i2p/lib/common/router_identity" - -Package router_identity implements the I2P RouterIdentity common data structure - ![router_identity.svg](router_identity) +Package router_identity implements the I2P RouterIdentity common data structure + ## Usage #### type RouterIdentity diff --git a/lib/common/router_identity/router_identity.svg b/lib/common/router_identity/router_identity.svg index ccc78b2..e912a46 100644 --- a/lib/common/router_identity/router_identity.svg +++ b/lib/common/router_identity/router_identity.svg @@ -4,69 +4,37 @@ - - + + gocallvis - + cluster_focus - -router_identity - - -cluster_github.com/sirupsen/logrus - - -logrus - - - - -cluster_*github.com/sirupsen/logrus.Logger - - -(*Logger) - - - - -cluster_github.com/go-i2p/logger - - -logger - - - - -cluster_*github.com/go-i2p/logger.Logger - - -(*Logger) - - + +router_identity -cluster_github.com/go-i2p/go-i2p/lib/common/keys_and_cert - - -keys_and_cert - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/key_certificate - - -key_certificate +cluster_github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate + + +(KeyCertificate) -cluster_github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate - - -(KeyCertificate) +cluster_*github.com/sirupsen/logrus.Logger + + +(*Logger) + + + + +cluster_*github.com/go-i2p/logger.Logger + + +(*Logger) @@ -74,242 +42,252 @@ github.com/go-i2p/go-i2p/lib/common/router_identity.init - -init + +init - + github.com/go-i2p/logger.GetGoI2PLogger - - -GetGoI2PLogger + + +logger +GetGoI2PLogger - + github.com/go-i2p/go-i2p/lib/common/router_identity.init->github.com/go-i2p/logger.GetGoI2PLogger - - - + + + - + github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity - - -ReadRouterIdentity + + +ReadRouterIdentity - + github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert - - -ReadKeysAndCert + + +keys_and_cert +ReadKeysAndCert - + github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity->github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert - - - + + + - + (*github.com/go-i2p/logger.Logger).WithFields - - -WithFields + + +logger +WithFields - + github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + (*github.com/go-i2p/logger.Logger).WithError - - -WithError + + +logger +WithError - + github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity->(*github.com/go-i2p/logger.Logger).WithError - - - + + + - + (*github.com/go-i2p/logger.Logger).Error - - -Error + + +logger +Error - + github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity->(*github.com/go-i2p/logger.Logger).Error - - - + + + - + (*github.com/sirupsen/logrus.Logger).Debug - - -Debug + + +logrus +Debug - + github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - + github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity - - -NewRouterIdentity + + +NewRouterIdentity - + github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate - - -KeyCertificateFromCertificate + + +key_certificate +KeyCertificateFromCertificate - + github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity->github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType - - -PublicKeyType - - - - - -github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType - - -SigningPublicKeyType - - - - - -github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType - - - + + + - + github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert - - -NewKeysAndCert + + +keys_and_cert +NewKeysAndCert - + github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity->github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert - - - + + + - + github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity->(*github.com/go-i2p/logger.Logger).WithError - - - + + + - + github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity->(*github.com/go-i2p/logger.Logger).Error - - - + + + - + github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType + + +key_certificate +PublicKeyType + + + + + +github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType + + +key_certificate +SigningPublicKeyType + + + + + +github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType + + + diff --git a/lib/common/router_info/doc.md b/lib/common/router_info/README.md similarity index 50% rename from lib/common/router_info/doc.md rename to lib/common/router_info/README.md index f5e85f8..b4e7457 100644 --- a/lib/common/router_info/doc.md +++ b/lib/common/router_info/README.md @@ -2,182 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/common/router_info" -Package router_info implements the I2P RouterInfo common data structure - -## Usage - -```go -const ( - MIN_GOOD_VERSION = 58 - MAX_GOOD_VERSION = 99 -) -``` - -```go -const ROUTER_INFO_MIN_SIZE = 439 -``` - -#### type RouterInfo - -```go -type RouterInfo struct { -} -``` - -RouterInfo is the represenation of an I2P RouterInfo. - -https://geti2p.net/spec/common-structures#routerinfo - -#### func NewRouterInfo - -```go -func NewRouterInfo( - routerIdentity *RouterIdentity, - publishedTime time.Time, - addresses []*RouterAddress, - options map[string]string, - signingPrivateKey crypto.SigningPrivateKey, - sigType int, -) (*RouterInfo, error) -``` - -#### func OwnedRouterInfo - -```go -func OwnedRouterInfo(keyCertificate key_certificate.KeyCertificate) *RouterInfo -``` - -#### func ReadRouterInfo - -```go -func ReadRouterInfo(bytes []byte) (info RouterInfo, remainder []byte, err error) -``` -ReadRouterInfo returns RouterInfo from a []byte. The remaining bytes after the -specified length are also returned. Returns a list of errors that occurred -during parsing. - -#### func (*RouterInfo) AddAddress - -```go -func (router_info *RouterInfo) AddAddress(address *RouterAddress) -``` - -#### func (RouterInfo) Bytes - -```go -func (router_info RouterInfo) Bytes() (bytes []byte, err error) -``` -Bytes returns the RouterInfo as a []byte suitable for writing to a stream. - -#### func (*RouterInfo) GoodVersion - -```go -func (router_info *RouterInfo) GoodVersion() bool -``` - -#### func (*RouterInfo) IdentHash - -```go -func (router_info *RouterInfo) IdentHash() Hash -``` -IndentHash returns the identity hash (sha256 sum) for this RouterInfo. - -#### func (RouterInfo) Network - -```go -func (router_info RouterInfo) Network() string -``` -Network implements net.Addr - -#### func (RouterInfo) Options - -```go -func (router_info RouterInfo) Options() (mapping Mapping) -``` -Options returns the options for this RouterInfo as an I2P Mapping. - -#### func (*RouterInfo) PeerSize - -```go -func (router_info *RouterInfo) PeerSize() int -``` -PeerSize returns the peer size as a Go integer. - -#### func (*RouterInfo) Published - -```go -func (router_info *RouterInfo) Published() *Date -``` -Published returns the date this RouterInfo was published as an I2P Date. - -#### func (*RouterInfo) Reachable - -```go -func (router_info *RouterInfo) Reachable() bool -``` - -#### func (*RouterInfo) RouterAddressCount - -```go -func (router_info *RouterInfo) RouterAddressCount() int -``` -RouterAddressCount returns the count of RouterAddress in this RouterInfo as a Go -integer. - -#### func (*RouterInfo) RouterAddresses - -```go -func (router_info *RouterInfo) RouterAddresses() []*RouterAddress -``` -RouterAddresses returns all RouterAddresses for this RouterInfo as -[]*RouterAddress. - -#### func (*RouterInfo) RouterCapabilities - -```go -func (router_info *RouterInfo) RouterCapabilities() string -``` - -#### func (*RouterInfo) RouterIdentity - -```go -func (router_info *RouterInfo) RouterIdentity() *RouterIdentity -``` -RouterIdentity returns the router identity as *RouterIdentity. - -#### func (*RouterInfo) RouterVersion - -```go -func (router_info *RouterInfo) RouterVersion() string -``` - -#### func (RouterInfo) Signature - -```go -func (router_info RouterInfo) Signature() (signature Signature) -``` -Signature returns the signature for this RouterInfo as an I2P Signature. - -#### func (RouterInfo) String - -```go -func (router_info RouterInfo) String() string -``` - -#### func (*RouterInfo) UnCongested - -```go -func (router_info *RouterInfo) UnCongested() bool -``` - -# router_info --- - import "github.com/go-i2p/go-i2p/lib/common/router_info" - -Package router_info implements the I2P RouterInfo common data structure - ![router_info.svg](router_info) +Package router_info implements the I2P RouterInfo common data structure + ## Usage ```go diff --git a/lib/common/router_info/router_info.svg b/lib/common/router_info/router_info.svg index 98679f6..f0a89f8 100644 --- a/lib/common/router_info/router_info.svg +++ b/lib/common/router_info/router_info.svg @@ -4,800 +4,1113 @@ - - + + gocallvis - + cluster_focus - -router_info + +router_info - -cluster_github.com/sirupsen/logrus - - -logrus - - - - -cluster_*github.com/sirupsen/logrus.Logger - - -(*Logger) - - - - -cluster_github.com/samber/oops - - -oops - - - - -cluster_github.com/go-i2p/logger - - -logger - - - - -cluster_*github.com/go-i2p/logger.Logger - - -(*Logger) - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/signature - - -signature - - - - + cluster_github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo - - -(RouterInfo) - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/router_identity - - -router_identity + + +(RouterInfo) -cluster_github.com/go-i2p/go-i2p/lib/common/router_address - - -router_address - - - - cluster_github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress - - -(RouterAddress) - - - - -cluster_*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress - - -(*RouterAddress) - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/keys_and_cert - - -keys_and_cert + + +(RouterAddress) cluster_github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert - - -(KeysAndCert) + + +(KeysAndCert) -cluster_*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert - - -(*KeysAndCert) +cluster_github.com/go-i2p/go-i2p/lib/common/data.MappingValues + + +(MappingValues) - -cluster_github.com/go-i2p/go-i2p/lib/common/data - - -data + +cluster_github.com/go-i2p/go-i2p/lib/common/data.Mapping + + +(Mapping) -cluster_github.com/go-i2p/go-i2p/lib/common/data.MappingValues - - -(MappingValues) +cluster_github.com/go-i2p/go-i2p/lib/common/data.Integer + + +(Integer) -cluster_github.com/go-i2p/go-i2p/lib/common/data.Mapping - - -(Mapping) +cluster_github.com/go-i2p/go-i2p/lib/common/data.Date + + +(Date) -cluster_github.com/go-i2p/go-i2p/lib/common/data.Integer - - -(Integer) +cluster_*github.com/sirupsen/logrus.Logger + + +(*Logger) -cluster_github.com/go-i2p/go-i2p/lib/common/data.Date - - -(Date) +cluster_*github.com/go-i2p/logger.Logger + + +(*Logger) -cluster_*github.com/go-i2p/go-i2p/lib/common/data.Mapping - - -(*Mapping) +cluster_*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo + + +(*RouterInfo) - -cluster_github.com/go-i2p/go-i2p/lib/common/certificate - - -certificate + +cluster_*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress + + +(*RouterAddress) -cluster_*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate - - -(*Certificate) +cluster_*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert + + +(*KeysAndCert) + + + + +cluster_*github.com/go-i2p/go-i2p/lib/common/data.Mapping + + +(*Mapping) -cluster_*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo - - -(*RouterInfo) +cluster_*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate + + +(*Certificate) + + + + + +github.com/go-i2p/go-i2p/lib/common/data.ToI2PString + + +data +ToI2PString - + github.com/go-i2p/go-i2p/lib/common/router_info.init - - -init + + +init - + github.com/go-i2p/logger.GetGoI2PLogger - - -GetGoI2PLogger + + +logger +GetGoI2PLogger - + github.com/go-i2p/go-i2p/lib/common/router_info.init->github.com/go-i2p/logger.GetGoI2PLogger - - - + + + - + github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo - - -ReadRouterInfo - - - - - -github.com/go-i2p/go-i2p/lib/common/certificate.GetSignatureTypeFromCertificate - - -GetSignatureTypeFromCertificate - - - - - -github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->github.com/go-i2p/go-i2p/lib/common/certificate.GetSignatureTypeFromCertificate - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type - - -Type - - - - - -github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length - - -Length - - - - - -github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.NewDate - - -NewDate - - - - - -github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->github.com/go-i2p/go-i2p/lib/common/data.NewDate - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.NewInteger - - -NewInteger - - - - - -github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->github.com/go-i2p/go-i2p/lib/common/data.NewInteger - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.NewMapping - - -NewMapping - - - - - -github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->github.com/go-i2p/go-i2p/lib/common/data.NewMapping - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - -Int - - - - - -github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate - - -Certificate - - - - - -github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress - - -ReadRouterAddress - - - - - -github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress - - - + + +ReadRouterInfo - + github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity - - -ReadRouterIdentity + + +router_identity +ReadRouterIdentity - + github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity - - - + + + - - -github.com/go-i2p/go-i2p/lib/common/signature.NewSignature - - -NewSignature + + +github.com/go-i2p/go-i2p/lib/common/data.NewDate + + +data +NewDate - - -github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->github.com/go-i2p/go-i2p/lib/common/signature.NewSignature - - - + + +github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->github.com/go-i2p/go-i2p/lib/common/data.NewDate + + + - - -(*github.com/go-i2p/logger.Logger).WithError - - -WithError + + +github.com/go-i2p/go-i2p/lib/common/data.NewInteger + + +data +NewInteger - - -github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->(*github.com/go-i2p/logger.Logger).WithError - - - + + +github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->github.com/go-i2p/go-i2p/lib/common/data.NewInteger + + + - - -(*github.com/go-i2p/logger.Logger).Error - - -Error + + +github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress + + +router_address +ReadRouterAddress - - -github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->(*github.com/go-i2p/logger.Logger).Error - - - + + +github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress + + + - - -(*github.com/go-i2p/logger.Logger).WithField - - -WithField + + +github.com/go-i2p/go-i2p/lib/common/data.NewMapping + + +data +NewMapping - - -github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->(*github.com/go-i2p/logger.Logger).WithField - - - + + +github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->github.com/go-i2p/go-i2p/lib/common/data.NewMapping + + + - - -(*github.com/go-i2p/logger.Logger).WithFields - - -WithFields + + +github.com/go-i2p/go-i2p/lib/common/certificate.GetSignatureTypeFromCertificate + + +certificate +GetSignatureTypeFromCertificate - - -github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->(*github.com/go-i2p/logger.Logger).WithFields - - - + + +github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->github.com/go-i2p/go-i2p/lib/common/certificate.GetSignatureTypeFromCertificate + + + - + github.com/samber/oops.Errorf - - -Errorf + + +oops +Errorf - + github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->github.com/samber/oops.Errorf - - - + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/signature.NewSignature + + +signature +NewSignature + + + + + +github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->github.com/go-i2p/go-i2p/lib/common/signature.NewSignature + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type + + +certificate +Type + + + + + +github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length + + +certificate +Length + + + + + +github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate + + +keys_and_cert +Certificate + + + + + +github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate + + + + + + + + +(*github.com/go-i2p/logger.Logger).WithError + + +logger +WithError + + + + + +github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(*github.com/go-i2p/logger.Logger).Error + + +logger +Error + + + + + +github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(*github.com/go-i2p/logger.Logger).WithField + + +logger +WithField + + + + + +github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(*github.com/go-i2p/logger.Logger).WithFields + + +logger +WithFields + + + + + +github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->(*github.com/go-i2p/logger.Logger).WithFields + + + - + (*github.com/sirupsen/logrus.Logger).Debug - - -Debug + + +logrus +Debug - + github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + +data +Int + + + + + +github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + - + github.com/go-i2p/go-i2p/lib/common/router_info.NewRouterInfo - - -NewRouterInfo - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).serializeWithoutSignature - - -serializeWithoutSignature - - - - - -github.com/go-i2p/go-i2p/lib/common/router_info.NewRouterInfo->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).serializeWithoutSignature - - - + + +NewRouterInfo - + github.com/go-i2p/go-i2p/lib/common/data.ReadDate - - -ReadDate + + +data +ReadDate - + github.com/go-i2p/go-i2p/lib/common/router_info.NewRouterInfo->github.com/go-i2p/go-i2p/lib/common/data.ReadDate - - - + + + - + github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt - - -NewIntegerFromInt + + +data +NewIntegerFromInt - + github.com/go-i2p/go-i2p/lib/common/router_info.NewRouterInfo->github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt - - - + + + - + github.com/go-i2p/go-i2p/lib/common/data.GoMapToMapping - - -GoMapToMapping + + +data +GoMapToMapping - + github.com/go-i2p/go-i2p/lib/common/router_info.NewRouterInfo->github.com/go-i2p/go-i2p/lib/common/data.GoMapToMapping - - - + + + - + github.com/go-i2p/go-i2p/lib/common/signature.ReadSignature - - -ReadSignature + + +signature +ReadSignature - + github.com/go-i2p/go-i2p/lib/common/router_info.NewRouterInfo->github.com/go-i2p/go-i2p/lib/common/signature.ReadSignature - - - + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).serializeWithoutSignature + + +serializeWithoutSignature + + + + + +github.com/go-i2p/go-i2p/lib/common/router_info.NewRouterInfo->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).serializeWithoutSignature + + + - + github.com/go-i2p/go-i2p/lib/common/router_info.NewRouterInfo->(*github.com/go-i2p/logger.Logger).WithError - - - + + + - + github.com/go-i2p/go-i2p/lib/common/router_info.NewRouterInfo->(*github.com/go-i2p/logger.Logger).Error - - - + + + - + github.com/go-i2p/go-i2p/lib/common/router_info.NewRouterInfo->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + github.com/go-i2p/go-i2p/lib/common/router_info.NewRouterInfo->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/data.HashData + + +data +HashData - + github.com/go-i2p/go-i2p/lib/common/router_info.bytesToString - - -bytesToString + + +bytesToString + + + + + +(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data + + +certificate +Data - + (*github.com/go-i2p/go-i2p/lib/common/data.Mapping).Data - - -Data + + +data +Data - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).serializeWithoutSignature->(*github.com/go-i2p/go-i2p/lib/common/data.Mapping).Data - - - + + +(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String + + +router_address +String - - -(github.com/go-i2p/go-i2p/lib/common/data.Date).Bytes - - -Bytes + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).Reachable + + +Reachable - + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterCapabilities + + +RouterCapabilities + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).Reachable->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterCapabilities + + + + + + + -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).serializeWithoutSignature->(github.com/go-i2p/go-i2p/lib/common/data.Date).Bytes - - - +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).Reachable->(*github.com/go-i2p/logger.Logger).WithField + + + - - -(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes - - -Bytes + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).Reachable->(*github.com/go-i2p/logger.Logger).WithFields + + + - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).serializeWithoutSignature->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes - - - + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).Reachable->(*github.com/sirupsen/logrus.Logger).Debug + + + - - -(github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes - - -Bytes + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterCapabilities->github.com/go-i2p/go-i2p/lib/common/data.ToI2PString + + + - + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterCapabilities->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterCapabilities->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterCapabilities->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterCapabilities->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/data.Mapping).Values + + +data +Values + + + + -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).serializeWithoutSignature->(github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes - - - +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterCapabilities->(github.com/go-i2p/go-i2p/lib/common/data.Mapping).Values + + + - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Bytes - - -Bytes + + +(github.com/go-i2p/go-i2p/lib/common/data.MappingValues).Get + + +data +Get - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).serializeWithoutSignature->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Bytes - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).GoodVersion - - -GoodVersion + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterCapabilities->(github.com/go-i2p/go-i2p/lib/common/data.MappingValues).Get + + + - + (*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterVersion - - -RouterVersion + + +RouterVersion + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterVersion->github.com/go-i2p/go-i2p/lib/common/data.ToI2PString + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterVersion->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterVersion->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterVersion->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterVersion->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterVersion->(github.com/go-i2p/go-i2p/lib/common/data.Mapping).Values + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterVersion->(github.com/go-i2p/go-i2p/lib/common/data.MappingValues).Get + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddressCount + + +RouterAddressCount + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddressCount->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddressCount->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddressCount->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).serializeWithoutSignature->(*github.com/go-i2p/go-i2p/lib/common/data.Mapping).Data + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/data.Date).Bytes + + +data +Bytes + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).serializeWithoutSignature->(github.com/go-i2p/go-i2p/lib/common/data.Date).Bytes + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes + + +data +Bytes + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).serializeWithoutSignature->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes + + +keys_and_cert +Bytes + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).serializeWithoutSignature->(github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Bytes + + +router_address +Bytes + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).serializeWithoutSignature->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Bytes + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses + + +RouterAddresses + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).UnCongested + + +UnCongested + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).UnCongested->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterCapabilities + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).UnCongested->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(*github.com/go-i2p/logger.Logger).Warn + + +logger +Warn + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).UnCongested->(*github.com/go-i2p/logger.Logger).Warn + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).UnCongested->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).GoodVersion + + +GoodVersion - + (*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).GoodVersion->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterVersion - - - + + + @@ -805,386 +1118,44 @@ (*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).GoodVersion->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - -(*github.com/go-i2p/logger.Logger).Warn - - -Warn + + - + (*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).GoodVersion->(*github.com/go-i2p/logger.Logger).Warn - - - + + + - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).GoodVersion->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.ToI2PString - - -ToI2PString - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterVersion->github.com/go-i2p/go-i2p/lib/common/data.ToI2PString - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/data.Mapping).Values - - -Values - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterVersion->(github.com/go-i2p/go-i2p/lib/common/data.Mapping).Values - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/data.MappingValues).Get - - -Get - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterVersion->(github.com/go-i2p/go-i2p/lib/common/data.MappingValues).Get - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterVersion->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterVersion->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterVersion->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterVersion->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses - - -RouterAddresses - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).UnCongested - - -UnCongested - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterCapabilities - - -RouterCapabilities - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).UnCongested->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterCapabilities - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).UnCongested->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).UnCongested->(*github.com/go-i2p/logger.Logger).Warn - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).UnCongested->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterCapabilities->github.com/go-i2p/go-i2p/lib/common/data.ToI2PString - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterCapabilities->(github.com/go-i2p/go-i2p/lib/common/data.Mapping).Values - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterCapabilities->(github.com/go-i2p/go-i2p/lib/common/data.MappingValues).Get - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterCapabilities->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterCapabilities->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterCapabilities->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterCapabilities->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddressCount - - -RouterAddressCount - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddressCount->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddressCount->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddressCount->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).Reachable - - -Reachable - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).Reachable->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterCapabilities - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).Reachable->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).Reachable->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).Reachable->(*github.com/sirupsen/logrus.Logger).Debug - - - +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).GoodVersion->(*github.com/sirupsen/logrus.Logger).Debug + + + - + (*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash - - -IdentHash + + +IdentHash - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterIdentity - - -RouterIdentity - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterIdentity - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data - - -Data + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash->github.com/go-i2p/go-i2p/lib/common/data.HashData + + + @@ -1192,26 +1163,8 @@ (*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.HashData - - -HashData - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash->github.com/go-i2p/go-i2p/lib/common/data.HashData - - - + + @@ -1219,188 +1172,197 @@ (*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate - - + + + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterIdentity + + +RouterIdentity + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterIdentity + + + - + (*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash->(*github.com/go-i2p/logger.Logger).WithField - - - + + + - + (*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String - - -String + + + - + (github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).Bytes - - -Bytes + + +Bytes - + (github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).Bytes->(*github.com/go-i2p/go-i2p/lib/common/data.Mapping).Data - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).Bytes->(github.com/go-i2p/go-i2p/lib/common/data.Date).Bytes - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).Bytes->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).Bytes->(github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).Bytes->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Bytes - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).Bytes->(*github.com/go-i2p/logger.Logger).WithField - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).Bytes->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).Bytes->(github.com/go-i2p/go-i2p/lib/common/data.Date).Bytes + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).Bytes->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).Bytes->(github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).Bytes->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Bytes + + + - + (github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String - - -String + + +String - + (github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String->github.com/go-i2p/go-i2p/lib/common/router_info.bytesToString - - - + + + - -(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String->(*github.com/go-i2p/go-i2p/lib/common/data.Mapping).Data - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String->(github.com/go-i2p/go-i2p/lib/common/data.Date).Bytes - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String->(github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes - - - +(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String->(*github.com/go-i2p/go-i2p/lib/common/data.Mapping).Data + + + - + (github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String->(*github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).String - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String->(*github.com/go-i2p/logger.Logger).WithField - - - + + + - + (github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String->(github.com/go-i2p/go-i2p/lib/common/data.Date).Bytes + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String->(github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes + + + diff --git a/lib/common/session_key/doc.md b/lib/common/session_key/README.md similarity index 52% rename from lib/common/session_key/doc.md rename to lib/common/session_key/README.md index f0f34f6..0500117 100644 --- a/lib/common/session_key/doc.md +++ b/lib/common/session_key/README.md @@ -2,45 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/common/session_key" -Package session_key implements the I2P SessionKey common data structure - -## Usage - -#### type SessionKey - -```go -type SessionKey [32]byte -``` - -SessionKey is the represenation of an I2P SessionKey. - -https://geti2p.net/spec/common-structures#sessionkey - -#### func NewSessionKey - -```go -func NewSessionKey(data []byte) (session_key *SessionKey, remainder []byte, err error) -``` -NewSessionKey creates a new *SessionKey from []byte using ReadSessionKey. -Returns a pointer to SessionKey unlike ReadSessionKey. - -#### func ReadSessionKey - -```go -func ReadSessionKey(bytes []byte) (info SessionKey, remainder []byte, err error) -``` -ReadSessionKey returns SessionKey from a []byte. The remaining bytes after the -specified length are also returned. Returns a list of errors that occurred -during parsing. - -# session_key --- - import "github.com/go-i2p/go-i2p/lib/common/session_key" - -Package session_key implements the I2P SessionKey common data structure - ![session_key.svg](session_key) +Package session_key implements the I2P SessionKey common data structure + ## Usage #### type SessionKey diff --git a/lib/common/session_key/session_key.svg b/lib/common/session_key/session_key.svg index cedd578..8f1f7e7 100644 --- a/lib/common/session_key/session_key.svg +++ b/lib/common/session_key/session_key.svg @@ -4,29 +4,21 @@ - - + + gocallvis - + cluster_focus - -session_key + +session_key -cluster_github.com/sirupsen/logrus - - -logrus - - - - cluster_*github.com/sirupsen/logrus.Entry - - -(*Entry) + + +(*Entry) @@ -34,44 +26,45 @@ github.com/go-i2p/go-i2p/lib/common/session_key.ReadSessionKey - -ReadSessionKey + +ReadSessionKey - + github.com/sirupsen/logrus.Warn - - -Warn + + +logrus +Warn - + github.com/go-i2p/go-i2p/lib/common/session_key.ReadSessionKey->github.com/sirupsen/logrus.Warn - - - + + + - + github.com/go-i2p/go-i2p/lib/common/session_key.NewSessionKey - - -NewSessionKey + + +NewSessionKey - + github.com/go-i2p/go-i2p/lib/common/session_key.NewSessionKey->github.com/go-i2p/go-i2p/lib/common/session_key.ReadSessionKey - - - + + + @@ -79,17 +72,18 @@ github.com/sirupsen/logrus.WithField - -WithField + +logrus +WithField - + github.com/go-i2p/go-i2p/lib/common/session_key.NewSessionKey->github.com/sirupsen/logrus.WithField - - - + + + @@ -97,17 +91,18 @@ github.com/sirupsen/logrus.WithError - -WithError + +logrus +WithError - + github.com/go-i2p/go-i2p/lib/common/session_key.NewSessionKey->github.com/sirupsen/logrus.WithError - - - + + + @@ -115,17 +110,18 @@ github.com/sirupsen/logrus.Debug - -Debug + +logrus +Debug - + github.com/go-i2p/go-i2p/lib/common/session_key.NewSessionKey->github.com/sirupsen/logrus.Debug - - - + + + @@ -133,17 +129,18 @@ (*github.com/sirupsen/logrus.Entry).Debug - -Debug + +logrus +Debug - + github.com/go-i2p/go-i2p/lib/common/session_key.NewSessionKey->(*github.com/sirupsen/logrus.Entry).Debug - - - + + + @@ -151,17 +148,18 @@ (*github.com/sirupsen/logrus.Entry).Error - -Error + +logrus +Error - + github.com/go-i2p/go-i2p/lib/common/session_key.NewSessionKey->(*github.com/sirupsen/logrus.Entry).Error - - - + + + diff --git a/lib/common/session_tag/doc.md b/lib/common/session_tag/README.md similarity index 52% rename from lib/common/session_tag/doc.md rename to lib/common/session_tag/README.md index ce39b4c..803cd3a 100644 --- a/lib/common/session_tag/doc.md +++ b/lib/common/session_tag/README.md @@ -2,45 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/common/session_tag" -Package session_tag implements the I2P SessionTag common data structure - -## Usage - -#### type SessionTag - -```go -type SessionTag [32]byte -``` - -SessionTag is the represenation of an I2P SessionTag. - -https://geti2p.net/spec/common-structures#session-tag - -#### func NewSessionTag - -```go -func NewSessionTag(data []byte) (session_tag *SessionTag, remainder []byte, err error) -``` -NewSessionTag creates a new *SessionTag from []byte using ReadSessionTag. -Returns a pointer to SessionTag unlike ReadSessionTag. - -#### func ReadSessionTag - -```go -func ReadSessionTag(bytes []byte) (info SessionTag, remainder []byte, err error) -``` -ReadSessionTag returns SessionTag from a []byte. The remaining bytes after the -specified length are also returned. Returns a list of errors that occurred -during parsing. - -# session_tag --- - import "github.com/go-i2p/go-i2p/lib/common/session_tag" - -Package session_tag implements the I2P SessionTag common data structure - ![session_tag.svg](session_tag) +Package session_tag implements the I2P SessionTag common data structure + ## Usage #### type SessionTag diff --git a/lib/common/session_tag/session_tag.svg b/lib/common/session_tag/session_tag.svg index 4e65283..deb7d85 100644 --- a/lib/common/session_tag/session_tag.svg +++ b/lib/common/session_tag/session_tag.svg @@ -4,54 +4,38 @@ - - + + gocallvis - + cluster_focus - -session_tag + +session_tag - -cluster_github.com/sirupsen/logrus - - -logrus - - - - + cluster_*github.com/sirupsen/logrus.Logger - - -(*Logger) + + +(*Logger) -cluster_github.com/go-i2p/logger - - -logger - - - - cluster_*github.com/go-i2p/logger.Logger - - -(*Logger) + + +(*Logger) github.com/go-i2p/go-i2p/lib/common/session_tag.NewSessionTag - - -NewSessionTag + + +NewSessionTag @@ -59,17 +43,17 @@ github.com/go-i2p/go-i2p/lib/common/session_tag.ReadSessionTag - -ReadSessionTag + +ReadSessionTag - + github.com/go-i2p/go-i2p/lib/common/session_tag.NewSessionTag->github.com/go-i2p/go-i2p/lib/common/session_tag.ReadSessionTag - - - + + + @@ -77,17 +61,18 @@ (*github.com/go-i2p/logger.Logger).WithField - -WithField + +logger +WithField - + github.com/go-i2p/go-i2p/lib/common/session_tag.NewSessionTag->(*github.com/go-i2p/logger.Logger).WithField - - - + + + @@ -95,17 +80,18 @@ (*github.com/go-i2p/logger.Logger).WithError - -WithError + +logger +WithError - + github.com/go-i2p/go-i2p/lib/common/session_tag.NewSessionTag->(*github.com/go-i2p/logger.Logger).WithError - - - + + + @@ -113,17 +99,18 @@ (*github.com/go-i2p/logger.Logger).Error - -Error + +logger +Error - + github.com/go-i2p/go-i2p/lib/common/session_tag.NewSessionTag->(*github.com/go-i2p/logger.Logger).Error - - - + + + @@ -131,17 +118,18 @@ (*github.com/go-i2p/logger.Logger).WithFields - -WithFields + +logger +WithFields - + github.com/go-i2p/go-i2p/lib/common/session_tag.NewSessionTag->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + @@ -149,17 +137,18 @@ (*github.com/sirupsen/logrus.Logger).Debug - -Debug + +logrus +Debug - + github.com/go-i2p/go-i2p/lib/common/session_tag.NewSessionTag->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + @@ -167,17 +156,18 @@ (*github.com/go-i2p/logger.Logger).Warn - -Warn + +logger +Warn - + github.com/go-i2p/go-i2p/lib/common/session_tag.ReadSessionTag->(*github.com/go-i2p/logger.Logger).Warn - - - + + + @@ -185,8 +175,8 @@ github.com/go-i2p/go-i2p/lib/common/session_tag.init - -init + +init @@ -194,17 +184,18 @@ github.com/go-i2p/logger.GetGoI2PLogger - -GetGoI2PLogger + +logger +GetGoI2PLogger - + github.com/go-i2p/go-i2p/lib/common/session_tag.init->github.com/go-i2p/logger.GetGoI2PLogger - - - + + + diff --git a/lib/common/signature/doc.md b/lib/common/signature/README.md similarity index 51% rename from lib/common/signature/doc.md rename to lib/common/signature/README.md index a004123..efe39b5 100644 --- a/lib/common/signature/doc.md +++ b/lib/common/signature/README.md @@ -2,83 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/common/signature" -Package signature implements the I2P Signature common data structure - -## Usage - -```go -const ( - DSA_SHA1_SIZE = 40 - ECDSA_SHA256_P256_SIZE = 64 - ECDSA_SHA384_P384_SIZE = 96 - ECDSA_SHA512_P512_SIZE = 132 - RSA_SHA256_2048_SIZE = 256 - RSA_SHA384_3072_SIZE = 384 - RSA_SHA512_4096_SIZE = 512 - EdDSA_SHA512_Ed25519_SIZE = 64 - EdDSA_SHA512_Ed25519ph_SIZE = 64 - RedDSA_SHA512_Ed25519_SIZE = 64 -) -``` -Lengths of signature keys - -```go -const ( - SIGNATURE_TYPE_DSA_SHA1 = 0 - SIGNATURE_TYPE_ECDSA_SHA256_P256 = 1 - SIGNATURE_TYPE_ECDSA_SHA384_P384 = 2 - SIGNATURE_TYPE_ECDSA_SHA512_P521 = 3 - SIGNATURE_TYPE_RSA_SHA256_2048 = 4 - SIGNATURE_TYPE_RSA_SHA384_3072 = 5 - SIGNATURE_TYPE_RSA_SHA512_4096 = 6 - SIGNATURE_TYPE_EDDSA_SHA512_ED25519 = 7 - SIGNATURE_TYPE_EDDSA_SHA512_ED25519PH = 8 - SIGNATURE_TYPE_REDDSA_SHA512_ED25519 = 11 -) -``` - -#### type Signature - -```go -type Signature []byte -``` - -Signature is the represenation of an I2P Signature. - -https://geti2p.net/spec/common-structures#signature - -#### func NewSignature - -```go -func NewSignature(data []byte, sigType int) (signature *Signature, remainder []byte, err error) -``` -NewSignature creates a new *Signature from []byte using ReadSignature. Returns a -pointer to Signature unlike ReadSignature. - -#### func ReadSignature - -```go -func ReadSignature(data []byte, sigType int) (sig Signature, remainder []byte, err error) -``` -ReadSignature returns a Signature from a []byte. The remaining bytes after the -specified length are also returned. Returns an error if there is insufficient -data to read the signature. - -Since the signature type and length are inferred from context (the type of key -used), and are not explicitly stated, this function assumes the default -signature type (DSA_SHA1) with a length of 40 bytes. - -If a different signature type is expected based on context, this function should -be modified accordingly to handle the correct signature length. - -# signature --- - import "github.com/go-i2p/go-i2p/lib/common/signature" - -Package signature implements the I2P Signature common data structure - ![signature.svg](signature) +Package signature implements the I2P Signature common data structure + ## Usage ```go diff --git a/lib/common/signature/signature.svg b/lib/common/signature/signature.svg index ccae061..0224abc 100644 --- a/lib/common/signature/signature.svg +++ b/lib/common/signature/signature.svg @@ -4,152 +4,132 @@ - - + + gocallvis - + cluster_focus - -signature + +signature - -cluster_github.com/sirupsen/logrus - - -logrus - - - - + cluster_*github.com/sirupsen/logrus.Logger - - -(*Logger) - - - - -cluster_github.com/samber/oops - - -oops + + +(*Logger) -cluster_github.com/go-i2p/logger - - -logger - - - - cluster_*github.com/go-i2p/logger.Logger - - -(*Logger) + + +(*Logger) github.com/go-i2p/go-i2p/lib/common/signature.NewSignature - - -NewSignature + + +NewSignature github.com/go-i2p/go-i2p/lib/common/signature.ReadSignature - - -ReadSignature + + +ReadSignature - + github.com/go-i2p/go-i2p/lib/common/signature.NewSignature->github.com/go-i2p/go-i2p/lib/common/signature.ReadSignature - - - + + + - + (*github.com/go-i2p/logger.Logger).WithField - - -WithField + + +logger +WithField - + github.com/go-i2p/go-i2p/lib/common/signature.NewSignature->(*github.com/go-i2p/logger.Logger).WithField - - - + + + - + (*github.com/go-i2p/logger.Logger).WithError - - -WithError + + +logger +WithError - + github.com/go-i2p/go-i2p/lib/common/signature.NewSignature->(*github.com/go-i2p/logger.Logger).WithError - - - + + + - + (*github.com/go-i2p/logger.Logger).Error - - -Error + + +logger +Error - + github.com/go-i2p/go-i2p/lib/common/signature.NewSignature->(*github.com/go-i2p/logger.Logger).Error - - - + + + - + (*github.com/go-i2p/logger.Logger).WithFields - - -WithFields + + +logger +WithFields - + github.com/go-i2p/go-i2p/lib/common/signature.NewSignature->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + @@ -157,17 +137,37 @@ (*github.com/sirupsen/logrus.Logger).Debug - -Debug + +logrus +Debug - + github.com/go-i2p/go-i2p/lib/common/signature.NewSignature->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +github.com/samber/oops.Errorf + + +oops +Errorf + + + + + +github.com/go-i2p/go-i2p/lib/common/signature.ReadSignature->github.com/samber/oops.Errorf + + + @@ -175,62 +175,45 @@ github.com/go-i2p/go-i2p/lib/common/signature.ReadSignature->(*github.com/go-i2p/logger.Logger).WithError - - + + - + github.com/go-i2p/go-i2p/lib/common/signature.ReadSignature->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -github.com/samber/oops.Errorf - - -Errorf - - - - - -github.com/go-i2p/go-i2p/lib/common/signature.ReadSignature->github.com/samber/oops.Errorf - - - + + + - + github.com/go-i2p/go-i2p/lib/common/signature.init - - -init + + +init - + github.com/go-i2p/logger.GetGoI2PLogger - - -GetGoI2PLogger + + +logger +GetGoI2PLogger - + github.com/go-i2p/go-i2p/lib/common/signature.init->github.com/go-i2p/logger.GetGoI2PLogger - - - + + + diff --git a/lib/config/doc.md b/lib/config/README.md similarity index 51% rename from lib/config/doc.md rename to lib/config/README.md index db0a2cd..52cc386 100644 --- a/lib/config/doc.md +++ b/lib/config/README.md @@ -2,118 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/config" - -## Usage - -```go -const GOI2P_BASE_DIR = ".go-i2p" -``` - -```go -var ( - CfgFile string -) -``` - -```go -var DefaultBootstrapConfig = BootstrapConfig{ - LowPeerThreshold: 10, - - ReseedServers: []*ReseedConfig{}, -} -``` -default configuration for network bootstrap - -```go -var DefaultNetDbConfig = NetDbConfig{ - Path: filepath.Join(defaultConfig(), "netDb"), -} -``` -default settings for netdb - -```go -var RouterConfigProperties = DefaultRouterConfig() -``` - -#### func InitConfig - -```go -func InitConfig() -``` - -#### func UpdateRouterConfig - -```go -func UpdateRouterConfig() -``` - -#### type BootstrapConfig - -```go -type BootstrapConfig struct { - // if we have less than this many peers we should reseed - LowPeerThreshold int - // reseed servers - ReseedServers []*ReseedConfig -} -``` - - -#### type NetDbConfig - -```go -type NetDbConfig struct { - // path to network database directory - Path string -} -``` - -local network database configuration - -#### type ReseedConfig - -```go -type ReseedConfig struct { - // url of reseed server - Url string - // fingerprint of reseed su3 signing key - SU3Fingerprint string -} -``` - -configuration for 1 reseed server - -#### type RouterConfig - -```go -type RouterConfig struct { - // the path to the base config directory where per-system defaults are stored - BaseDir string - // the path to the working config directory where files are changed - WorkingDir string - // netdb configuration - NetDb *NetDbConfig - // configuration for bootstrapping into the network - Bootstrap *BootstrapConfig -} -``` - -router.config options - -#### func DefaultRouterConfig - -```go -func DefaultRouterConfig() *RouterConfig -``` - -# config --- - import "github.com/go-i2p/go-i2p/lib/config" - - - ![config.svg](config) + + ## Usage ```go diff --git a/lib/config/config.svg b/lib/config/config.svg index ab1b175..0fea13f 100644 --- a/lib/config/config.svg +++ b/lib/config/config.svg @@ -4,349 +4,75 @@ - - + + gocallvis - + cluster_focus - -config + +config - -cluster_gopkg.in/yaml.v3 - - -yaml - - - - -cluster_github.com/spf13/viper - - -viper - - - - -cluster_github.com/sirupsen/logrus - - -logrus - - - - + cluster_*github.com/sirupsen/logrus.Logger - - -(*Logger) + + +(*Logger) -cluster_github.com/go-i2p/logger - - -logger - - - - cluster_*github.com/go-i2p/logger.Logger - - -(*Logger) + + +(*Logger) - + -github.com/go-i2p/go-i2p/lib/config.InitConfig - - -InitConfig +github.com/go-i2p/go-i2p/lib/config.defaultConfig + + +defaultConfig - + -github.com/go-i2p/go-i2p/lib/config.setDefaults - - -setDefaults +github.com/go-i2p/go-i2p/lib/config.home + + +home - - -github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/go-i2p/go-i2p/lib/config.setDefaults - - - - - - - - -github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig - - -DefaultRouterConfig - - - - - -github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig - - - + + +github.com/go-i2p/go-i2p/lib/config.defaultConfig->github.com/go-i2p/go-i2p/lib/config.home + + + - + github.com/go-i2p/go-i2p/lib/config.UpdateRouterConfig - - -UpdateRouterConfig - - - - - -github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/go-i2p/go-i2p/lib/config.UpdateRouterConfig - - - - - - - - -(*github.com/go-i2p/logger.Logger).Warnf - - -Warnf - - - - - -github.com/go-i2p/go-i2p/lib/config.InitConfig->(*github.com/go-i2p/logger.Logger).Warnf - - - - - - - - -(*github.com/sirupsen/logrus.Logger).Fatalf - - -Fatalf - - - - - -github.com/go-i2p/go-i2p/lib/config.InitConfig->(*github.com/sirupsen/logrus.Logger).Fatalf - - - - - - - - -(*github.com/sirupsen/logrus.Logger).Debugf - - -Debugf - - - - - -github.com/go-i2p/go-i2p/lib/config.InitConfig->(*github.com/sirupsen/logrus.Logger).Debugf - - - - - - - - -github.com/spf13/viper.SetConfigFile - - -SetConfigFile - - - - - -github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/spf13/viper.SetConfigFile - - - - - - - - -github.com/spf13/viper.ReadInConfig - - -ReadInConfig - - - - - -github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/spf13/viper.ReadInConfig - - - - - - - - -github.com/spf13/viper.AddConfigPath - - -AddConfigPath - - - - - -github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/spf13/viper.AddConfigPath - - - - - - - - -github.com/spf13/viper.SetConfigName - - -SetConfigName - - - - - -github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/spf13/viper.SetConfigName - - - - - - - - -github.com/spf13/viper.SetConfigType - - -SetConfigType - - - - - -github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/spf13/viper.SetConfigType - - - - - - - - -github.com/spf13/viper.ConfigFileUsed - - -ConfigFileUsed - - - - - -github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/spf13/viper.ConfigFileUsed - - - - - - - - -gopkg.in/yaml.v3.Marshal - - -Marshal - - - - - -github.com/go-i2p/go-i2p/lib/config.InitConfig->gopkg.in/yaml.v3.Marshal - - - - - - - - -github.com/go-i2p/go-i2p/lib/config.setDefaults->github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig - - - - - - - - -github.com/spf13/viper.SetDefault - - -SetDefault - - - - - -github.com/go-i2p/go-i2p/lib/config.setDefaults->github.com/spf13/viper.SetDefault - - - - - - - - -github.com/go-i2p/go-i2p/lib/config.UpdateRouterConfig->(*github.com/go-i2p/logger.Logger).Warnf - - - + + +UpdateRouterConfig - + github.com/spf13/viper.GetString - - -GetString + + +viper +GetString @@ -354,143 +80,400 @@ github.com/go-i2p/go-i2p/lib/config.UpdateRouterConfig->github.com/spf13/viper.GetString - - + + - + github.com/spf13/viper.UnmarshalKey - - -UnmarshalKey + + +viper +UnmarshalKey - + github.com/go-i2p/go-i2p/lib/config.UpdateRouterConfig->github.com/spf13/viper.UnmarshalKey - - - + + + - + github.com/spf13/viper.GetInt - - -GetInt + + +viper +GetInt - + github.com/go-i2p/go-i2p/lib/config.UpdateRouterConfig->github.com/spf13/viper.GetInt - - - + + + - - -github.com/go-i2p/go-i2p/lib/config.defaultConfig - - -defaultConfig + + +(*github.com/go-i2p/logger.Logger).Warnf + + +logger +Warnf - - -github.com/go-i2p/go-i2p/lib/config.home - - -home - - - - - -github.com/go-i2p/go-i2p/lib/config.defaultConfig->github.com/go-i2p/go-i2p/lib/config.home - - - + + +github.com/go-i2p/go-i2p/lib/config.UpdateRouterConfig->(*github.com/go-i2p/logger.Logger).Warnf + + + github.com/go-i2p/go-i2p/lib/config.init - - -init - - - - - -github.com/go-i2p/go-i2p/lib/config.init->github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig - - - + + +init - + github.com/go-i2p/go-i2p/lib/config.init->github.com/go-i2p/go-i2p/lib/config.defaultConfig - - - - - - - - -github.com/go-i2p/go-i2p/lib/config.defaultBase - - -defaultBase - - - - - -github.com/go-i2p/go-i2p/lib/config.init->github.com/go-i2p/go-i2p/lib/config.defaultBase - - - + + + - + github.com/go-i2p/logger.GetGoI2PLogger - - -GetGoI2PLogger + + +logger +GetGoI2PLogger - + github.com/go-i2p/go-i2p/lib/config.init->github.com/go-i2p/logger.GetGoI2PLogger - - - + + + + + + + + +github.com/go-i2p/go-i2p/lib/config.defaultBase + + +defaultBase + + + + + +github.com/go-i2p/go-i2p/lib/config.init->github.com/go-i2p/go-i2p/lib/config.defaultBase + + + + + + + + +github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig + + +DefaultRouterConfig + + + + + +github.com/go-i2p/go-i2p/lib/config.init->github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig + + + - + github.com/go-i2p/go-i2p/lib/config.defaultBase->github.com/go-i2p/go-i2p/lib/config.home - - - + + + + + + + + +github.com/go-i2p/go-i2p/lib/config.setDefaults + + +setDefaults + + + + + +github.com/go-i2p/go-i2p/lib/config.setDefaults->github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig + + + + + + + + +github.com/spf13/viper.SetDefault + + +viper +SetDefault + + + + + +github.com/go-i2p/go-i2p/lib/config.setDefaults->github.com/spf13/viper.SetDefault + + + + + + + + +github.com/go-i2p/go-i2p/lib/config.InitConfig + + +InitConfig + + + + + +github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/go-i2p/go-i2p/lib/config.UpdateRouterConfig + + + + + + + + +github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig + + + + + + + + +github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/go-i2p/go-i2p/lib/config.setDefaults + + + + + + + + +github.com/spf13/viper.SetConfigFile + + +viper +SetConfigFile + + + + + +github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/spf13/viper.SetConfigFile + + + + + + + + +github.com/spf13/viper.ReadInConfig + + +viper +ReadInConfig + + + + + +github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/spf13/viper.ReadInConfig + + + + + + + + +github.com/spf13/viper.AddConfigPath + + +viper +AddConfigPath + + + + + +github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/spf13/viper.AddConfigPath + + + + + + + + +github.com/spf13/viper.SetConfigName + + +viper +SetConfigName + + + + + +github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/spf13/viper.SetConfigName + + + + + + + + +github.com/spf13/viper.SetConfigType + + +viper +SetConfigType + + + + + +github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/spf13/viper.SetConfigType + + + + + + + + +gopkg.in/yaml.v3.Marshal + + +yaml +Marshal + + + + + +github.com/go-i2p/go-i2p/lib/config.InitConfig->gopkg.in/yaml.v3.Marshal + + + + + + + + +github.com/spf13/viper.ConfigFileUsed + + +viper +ConfigFileUsed + + + + + +github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/spf13/viper.ConfigFileUsed + + + + + + + + +github.com/go-i2p/go-i2p/lib/config.InitConfig->(*github.com/go-i2p/logger.Logger).Warnf + + + + + + + + +(*github.com/sirupsen/logrus.Logger).Fatalf + + +logrus +Fatalf + + + + + +github.com/go-i2p/go-i2p/lib/config.InitConfig->(*github.com/sirupsen/logrus.Logger).Fatalf + + + + + + + + +(*github.com/sirupsen/logrus.Logger).Debugf + + +logrus +Debugf + + + + + +github.com/go-i2p/go-i2p/lib/config.InitConfig->(*github.com/sirupsen/logrus.Logger).Debugf + + + diff --git a/lib/crypto/doc.md b/lib/crypto/README.md similarity index 50% rename from lib/crypto/doc.md rename to lib/crypto/README.md index 0c1331a..1d7b25d 100644 --- a/lib/crypto/doc.md +++ b/lib/crypto/README.md @@ -2,1009 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/crypto" -package for i2p specific crpytography - -## Usage - -```go -const ( - IPAD = byte(0x36) - OPAD = byte(0x5C) -) -``` - -```go -var ( - Ed25519EncryptTooBig = oops.Errorf("failed to encrypt data, too big for Ed25519") - ErrInvalidPublicKeySize = oops.Errorf("failed to verify: invalid ed25519 public key size") -) -``` - -```go -var ( - ElgDecryptFail = oops.Errorf("failed to decrypt elgamal encrypted data") - ElgEncryptTooBig = oops.Errorf("failed to encrypt data, too big for elgamal") -) -``` - -```go -var ( - ErrBadSignatureSize = oops.Errorf("bad signature size") - ErrInvalidKeyFormat = oops.Errorf("invalid key format") - ErrInvalidSignature = oops.Errorf("invalid signature") -) -``` - -```go -var Curve25519EncryptTooBig = oops.Errorf("failed to encrypt data, too big for Curve25519") -``` - -```go -var SHA256 = sha256.Sum256 -``` - -#### func ElgamalGenerate - -```go -func ElgamalGenerate(priv *elgamal.PrivateKey, rand io.Reader) (err error) -``` -generate an elgamal key pair - -#### type AESSymmetricDecrypter - -```go -type AESSymmetricDecrypter struct { - Key []byte - IV []byte -} -``` - -AESSymmetricDecrypter implements the Decrypter interface using AES - -#### func (*AESSymmetricDecrypter) Decrypt - -```go -func (d *AESSymmetricDecrypter) Decrypt(data []byte) ([]byte, error) -``` -Decrypt decrypts data using AES-CBC with PKCS#7 padding - -#### func (*AESSymmetricDecrypter) DecryptNoPadding - -```go -func (d *AESSymmetricDecrypter) DecryptNoPadding(data []byte) ([]byte, error) -``` -DecryptNoPadding decrypts data using AES-CBC without padding - -#### type AESSymmetricEncrypter - -```go -type AESSymmetricEncrypter struct { - Key []byte - IV []byte -} -``` - -AESSymmetricEncrypter implements the Encrypter interface using AES - -#### func (*AESSymmetricEncrypter) Encrypt - -```go -func (e *AESSymmetricEncrypter) Encrypt(data []byte) ([]byte, error) -``` -Encrypt encrypts data using AES-CBC with PKCS#7 padding - -#### func (*AESSymmetricEncrypter) EncryptNoPadding - -```go -func (e *AESSymmetricEncrypter) EncryptNoPadding(data []byte) ([]byte, error) -``` -EncryptNoPadding encrypts data using AES-CBC without padding - -#### type AESSymmetricKey - -```go -type AESSymmetricKey struct { - Key []byte // AES key (must be 16, 24, or 32 bytes for AES-128, AES-192, AES-256) - IV []byte // Initialization Vector (must be 16 bytes for AES) -} -``` - -AESSymmetricKey represents a symmetric key for AES encryption/decryption - -#### func (*AESSymmetricKey) Len - -```go -func (k *AESSymmetricKey) Len() int -``` -Len returns the length of the key - -#### func (*AESSymmetricKey) NewDecrypter - -```go -func (k *AESSymmetricKey) NewDecrypter() (Decrypter, error) -``` -NewDecrypter creates a new AESSymmetricDecrypter - -#### func (*AESSymmetricKey) NewEncrypter - -```go -func (k *AESSymmetricKey) NewEncrypter() (Encrypter, error) -``` -NewEncrypter creates a new AESSymmetricEncrypter - -#### type Curve25519Encryption - -```go -type Curve25519Encryption struct { -} -``` - - -#### func (*Curve25519Encryption) Encrypt - -```go -func (curve25519 *Curve25519Encryption) Encrypt(data []byte) (enc []byte, err error) -``` - -#### func (*Curve25519Encryption) EncryptPadding - -```go -func (curve25519 *Curve25519Encryption) EncryptPadding(data []byte, zeroPadding bool) (encrypted []byte, err error) -``` - -#### type Curve25519PrivateKey - -```go -type Curve25519PrivateKey curve25519.PrivateKey -``` - - -#### type Curve25519PublicKey - -```go -type Curve25519PublicKey []byte -``` - - -#### func (Curve25519PublicKey) Len - -```go -func (k Curve25519PublicKey) Len() int -``` - -#### func (Curve25519PublicKey) NewEncrypter - -```go -func (elg Curve25519PublicKey) NewEncrypter() (enc Encrypter, err error) -``` - -#### func (Curve25519PublicKey) NewVerifier - -```go -func (k Curve25519PublicKey) NewVerifier() (v Verifier, err error) -``` - -#### type Curve25519Signer - -```go -type Curve25519Signer struct { -} -``` - - -#### func (*Curve25519Signer) Sign - -```go -func (s *Curve25519Signer) Sign(data []byte) (sig []byte, err error) -``` - -#### func (*Curve25519Signer) SignHash - -```go -func (s *Curve25519Signer) SignHash(h []byte) (sig []byte, err error) -``` - -#### type Curve25519Verifier - -```go -type Curve25519Verifier struct { -} -``` - - -#### func (*Curve25519Verifier) Verify - -```go -func (v *Curve25519Verifier) Verify(data, sig []byte) (err error) -``` - -#### func (*Curve25519Verifier) VerifyHash - -```go -func (v *Curve25519Verifier) VerifyHash(h, sig []byte) (err error) -``` - -#### type DSAPrivateKey - -```go -type DSAPrivateKey [20]byte -``` - - -#### func (DSAPrivateKey) Generate - -```go -func (k DSAPrivateKey) Generate() (s DSAPrivateKey, err error) -``` - -#### func (DSAPrivateKey) Len - -```go -func (k DSAPrivateKey) Len() int -``` - -#### func (DSAPrivateKey) NewSigner - -```go -func (k DSAPrivateKey) NewSigner() (s Signer, err error) -``` -create a new dsa signer - -#### func (DSAPrivateKey) Public - -```go -func (k DSAPrivateKey) Public() (pk DSAPublicKey, err error) -``` - -#### type DSAPublicKey - -```go -type DSAPublicKey [128]byte -``` - - -#### func (DSAPublicKey) Bytes - -```go -func (k DSAPublicKey) Bytes() []byte -``` - -#### func (DSAPublicKey) Len - -```go -func (k DSAPublicKey) Len() int -``` - -#### func (DSAPublicKey) NewVerifier - -```go -func (k DSAPublicKey) NewVerifier() (v Verifier, err error) -``` -create a new dsa verifier - -#### type DSASigner - -```go -type DSASigner struct { -} -``` - - -#### func (*DSASigner) Sign - -```go -func (ds *DSASigner) Sign(data []byte) (sig []byte, err error) -``` - -#### func (*DSASigner) SignHash - -```go -func (ds *DSASigner) SignHash(h []byte) (sig []byte, err error) -``` - -#### type DSAVerifier - -```go -type DSAVerifier struct { -} -``` - - -#### func (*DSAVerifier) Verify - -```go -func (v *DSAVerifier) Verify(data, sig []byte) (err error) -``` -verify data with a dsa public key - -#### func (*DSAVerifier) VerifyHash - -```go -func (v *DSAVerifier) VerifyHash(h, sig []byte) (err error) -``` -verify hash of data with a dsa public key - -#### type Decrypter - -```go -type Decrypter interface { - // decrypt a block of data - // return decrypted block or nil and error if error happens - Decrypt(data []byte) ([]byte, error) -} -``` - -decrypts data - -#### type ECDSAVerifier - -```go -type ECDSAVerifier struct { -} -``` - - -#### func (*ECDSAVerifier) Verify - -```go -func (v *ECDSAVerifier) Verify(data, sig []byte) (err error) -``` -verify a block of data by hashing it and comparing the hash against the -signature - -#### func (*ECDSAVerifier) VerifyHash - -```go -func (v *ECDSAVerifier) VerifyHash(h, sig []byte) (err error) -``` -verify a signature given the hash - -#### type ECP256PrivateKey - -```go -type ECP256PrivateKey [32]byte -``` - - -#### type ECP256PublicKey - -```go -type ECP256PublicKey [64]byte -``` - - -#### func (ECP256PublicKey) Bytes - -```go -func (k ECP256PublicKey) Bytes() []byte -``` - -#### func (ECP256PublicKey) Len - -```go -func (k ECP256PublicKey) Len() int -``` - -#### func (ECP256PublicKey) NewVerifier - -```go -func (k ECP256PublicKey) NewVerifier() (Verifier, error) -``` - -#### type ECP384PrivateKey - -```go -type ECP384PrivateKey [48]byte -``` - - -#### type ECP384PublicKey - -```go -type ECP384PublicKey [96]byte -``` - - -#### func (ECP384PublicKey) Bytes - -```go -func (k ECP384PublicKey) Bytes() []byte -``` - -#### func (ECP384PublicKey) Len - -```go -func (k ECP384PublicKey) Len() int -``` - -#### func (ECP384PublicKey) NewVerifier - -```go -func (k ECP384PublicKey) NewVerifier() (Verifier, error) -``` - -#### type ECP521PrivateKey - -```go -type ECP521PrivateKey [66]byte -``` - - -#### type ECP521PublicKey - -```go -type ECP521PublicKey [132]byte -``` - - -#### func (ECP521PublicKey) Bytes - -```go -func (k ECP521PublicKey) Bytes() []byte -``` - -#### func (ECP521PublicKey) Len - -```go -func (k ECP521PublicKey) Len() int -``` - -#### func (ECP521PublicKey) NewVerifier - -```go -func (k ECP521PublicKey) NewVerifier() (Verifier, error) -``` - -#### type Ed25519Decrypter - -```go -type Ed25519Decrypter struct { -} -``` - - -#### func (*Ed25519Decrypter) Decrypt - -```go -func (d *Ed25519Decrypter) Decrypt(data []byte) ([]byte, error) -``` - -#### func (*Ed25519Decrypter) DecryptPadding - -```go -func (d *Ed25519Decrypter) DecryptPadding(data []byte, zeroPadding bool) ([]byte, error) -``` - -#### type Ed25519Encryption - -```go -type Ed25519Encryption struct { -} -``` - - -#### func (*Ed25519Encryption) Encrypt - -```go -func (ed25519 *Ed25519Encryption) Encrypt(data []byte) (enc []byte, err error) -``` - -#### func (*Ed25519Encryption) EncryptPadding - -```go -func (ed25519 *Ed25519Encryption) EncryptPadding(data []byte, zeroPadding bool) (encrypted []byte, err error) -``` - -#### type Ed25519PrivateKey - -```go -type Ed25519PrivateKey ed25519.PrivateKey -``` - - -#### func (Ed25519PrivateKey) Bytes - -```go -func (k Ed25519PrivateKey) Bytes() []byte -``` - -#### func (Ed25519PrivateKey) Generate - -```go -func (k Ed25519PrivateKey) Generate() (SigningPrivateKey, error) -``` - -#### func (Ed25519PrivateKey) Len - -```go -func (k Ed25519PrivateKey) Len() int -``` - -#### func (Ed25519PrivateKey) NewDecrypter - -```go -func (k Ed25519PrivateKey) NewDecrypter() (Decrypter, error) -``` - -#### func (Ed25519PrivateKey) NewSigner - -```go -func (k Ed25519PrivateKey) NewSigner() (Signer, error) -``` - -#### func (Ed25519PrivateKey) Public - -```go -func (k Ed25519PrivateKey) Public() (SigningPublicKey, error) -``` - -#### func (Ed25519PrivateKey) Zero - -```go -func (k Ed25519PrivateKey) Zero() -``` - -#### type Ed25519PublicKey - -```go -type Ed25519PublicKey []byte -``` - - -#### func CreateEd25519PublicKeyFromBytes - -```go -func CreateEd25519PublicKeyFromBytes(data []byte) (Ed25519PublicKey, error) -``` - -#### func (Ed25519PublicKey) Bytes - -```go -func (k Ed25519PublicKey) Bytes() []byte -``` - -#### func (Ed25519PublicKey) Len - -```go -func (k Ed25519PublicKey) Len() int -``` - -#### func (Ed25519PublicKey) NewEncrypter - -```go -func (elg Ed25519PublicKey) NewEncrypter() (enc Encrypter, err error) -``` - -#### func (Ed25519PublicKey) NewVerifier - -```go -func (k Ed25519PublicKey) NewVerifier() (v Verifier, err error) -``` - -#### type Ed25519Signer - -```go -type Ed25519Signer struct { -} -``` - - -#### func (*Ed25519Signer) Sign - -```go -func (s *Ed25519Signer) Sign(data []byte) (sig []byte, err error) -``` - -#### func (*Ed25519Signer) SignHash - -```go -func (s *Ed25519Signer) SignHash(h []byte) (sig []byte, err error) -``` - -#### type Ed25519Verifier - -```go -type Ed25519Verifier struct { -} -``` - - -#### func (*Ed25519Verifier) Verify - -```go -func (v *Ed25519Verifier) Verify(data, sig []byte) (err error) -``` - -#### func (*Ed25519Verifier) VerifyHash - -```go -func (v *Ed25519Verifier) VerifyHash(h, sig []byte) (err error) -``` - -#### type ElgPrivateKey - -```go -type ElgPrivateKey [256]byte -``` - - -#### func (ElgPrivateKey) Len - -```go -func (elg ElgPrivateKey) Len() int -``` - -#### func (ElgPrivateKey) NewDecrypter - -```go -func (elg ElgPrivateKey) NewDecrypter() (dec Decrypter, err error) -``` - -#### type ElgPublicKey - -```go -type ElgPublicKey [256]byte -``` - - -#### func (ElgPublicKey) Bytes - -```go -func (elg ElgPublicKey) Bytes() []byte -``` - -#### func (ElgPublicKey) Len - -```go -func (elg ElgPublicKey) Len() int -``` - -#### func (ElgPublicKey) NewEncrypter - -```go -func (elg ElgPublicKey) NewEncrypter() (enc Encrypter, err error) -``` - -#### type ElgamalEncryption - -```go -type ElgamalEncryption struct { -} -``` - - -#### func (*ElgamalEncryption) Encrypt - -```go -func (elg *ElgamalEncryption) Encrypt(data []byte) (enc []byte, err error) -``` - -#### func (*ElgamalEncryption) EncryptPadding - -```go -func (elg *ElgamalEncryption) EncryptPadding(data []byte, zeroPadding bool) (encrypted []byte, err error) -``` - -#### type Encrypter - -```go -type Encrypter interface { - // encrypt a block of data - // return encrypted block or nil and error if an error happened - Encrypt(data []byte) (enc []byte, err error) -} -``` - -encrypts data - -#### type HMACDigest - -```go -type HMACDigest [16]byte -``` - - -#### func I2PHMAC - -```go -func I2PHMAC(data []byte, k HMACKey) (d HMACDigest) -``` -do i2p hmac - -#### type HMACKey - -```go -type HMACKey [32]byte -``` - - -#### type PrivateEncryptionKey - -```go -type PrivateEncryptionKey interface { - // create a new decryption object for this private key to decrypt data encrypted to our public key - // returns decrypter or nil and error if the private key is in a bad format - NewDecrypter() (Decrypter, error) -} -``` - - -#### type PrivateKey - -```go -type PrivateKey interface { - // Public returns the public key corresponding to this private key - Public() (SigningPublicKey, error) - // Bytes returns the raw bytes of this private key - Bytes() []byte - // Zero clears all sensitive data from the private key - Zero() -} -``` - -PrivateKey is an interface for private keys - -#### type PublicEncryptionKey - -```go -type PublicEncryptionKey interface { - // create a new encrypter to encrypt data to this public key - NewEncrypter() (Encrypter, error) - - // length of this public key in bytes - Len() int -} -``` - - -#### type PublicKey - -```go -type PublicKey interface { - Len() int - Bytes() []byte -} -``` - - -#### type RSA2048PrivateKey - -```go -type RSA2048PrivateKey [512]byte -``` - - -#### type RSA2048PublicKey - -```go -type RSA2048PublicKey [256]byte -``` - - -#### func (RSA2048PublicKey) Bytes - -```go -func (r RSA2048PublicKey) Bytes() []byte -``` -Bytes implements SigningPublicKey. - -#### func (RSA2048PublicKey) Len - -```go -func (r RSA2048PublicKey) Len() int -``` -Len implements SigningPublicKey. - -#### func (RSA2048PublicKey) NewVerifier - -```go -func (r RSA2048PublicKey) NewVerifier() (Verifier, error) -``` -NewVerifier implements SigningPublicKey. - -#### type RSA3072PrivateKey - -```go -type RSA3072PrivateKey [786]byte -``` - - -#### type RSA3072PublicKey - -```go -type RSA3072PublicKey [384]byte -``` - - -#### func (RSA3072PublicKey) Bytes - -```go -func (r RSA3072PublicKey) Bytes() []byte -``` -Bytes implements SigningPublicKey. - -#### func (RSA3072PublicKey) Len - -```go -func (r RSA3072PublicKey) Len() int -``` -Len implements SigningPublicKey. - -#### func (RSA3072PublicKey) NewVerifier - -```go -func (r RSA3072PublicKey) NewVerifier() (Verifier, error) -``` -NewVerifier implements SigningPublicKey. - -#### type RSA4096PrivateKey - -```go -type RSA4096PrivateKey [1024]byte -``` - - -#### type RSA4096PublicKey - -```go -type RSA4096PublicKey [512]byte -``` - - -#### func (RSA4096PublicKey) Bytes - -```go -func (r RSA4096PublicKey) Bytes() []byte -``` -Bytes implements SigningPublicKey. - -#### func (RSA4096PublicKey) Len - -```go -func (r RSA4096PublicKey) Len() int -``` -Len implements SigningPublicKey. - -#### func (RSA4096PublicKey) NewVerifier - -```go -func (r RSA4096PublicKey) NewVerifier() (Verifier, error) -``` -NewVerifier implements SigningPublicKey. - -#### type RecievingPublicKey - -```go -type RecievingPublicKey interface { - Len() int - Bytes() []byte - NewEncrypter() (Encrypter, error) -} -``` - - -#### type Signer - -```go -type Signer interface { - // sign data with our private key by calling SignHash after hashing the data we are given - // return signature or nil signature and error if an error happened - Sign(data []byte) (sig []byte, err error) - - // sign hash of data with our private key - // return signature or nil signature and error if an error happened - SignHash(h []byte) (sig []byte, err error) -} -``` - -type for signing data - -#### type SigningPrivateKey - -```go -type SigningPrivateKey interface { - // create a new signer to sign data - // return signer or nil and error if key format is invalid - NewSigner() (Signer, error) - // length of this private key - Len() int - // get public key or return nil and error if invalid key data in private key - Public() (SigningPublicKey, error) - // generate a new private key, put it into itself - // returns itself or nil and error if an error occurs - Generate() (SigningPrivateKey, error) -} -``` - -key for signing data - -#### type SigningPublicKey - -```go -type SigningPublicKey interface { - // create new Verifier to verify the validity of signatures - // return verifier or nil and error if key format is invalid - NewVerifier() (Verifier, error) - // get the size of this public key - Len() int - Bytes() []byte -} -``` - -key for verifying data - -#### type Tunnel - -```go -type Tunnel struct { -} -``` - - -#### func NewTunnelCrypto - -```go -func NewTunnelCrypto(layerKey, ivKey TunnelKey) (t *Tunnel, err error) -``` - -#### func (*Tunnel) Decrypt - -```go -func (t *Tunnel) Decrypt(td *TunnelData) -``` - -#### func (*Tunnel) Encrypt - -```go -func (t *Tunnel) Encrypt(td *TunnelData) -``` -encrypt tunnel data in place - -#### type TunnelData - -```go -type TunnelData [1028]byte -``` - - -#### type TunnelIV - -```go -type TunnelIV []byte -``` - -The initialization vector for a tunnel message - -#### type TunnelKey - -```go -type TunnelKey [32]byte -``` - -A symetric key for encrypting tunnel messages - -#### type Verifier - -```go -type Verifier interface { - // verify hashed data with this signing key - // return nil on valid signature otherwise error - VerifyHash(h, sig []byte) error - // verify an unhashed piece of data by hashing it and calling VerifyHash - Verify(data, sig []byte) error -} -``` - -type for verifying signatures - -# crypto --- - import "github.com/go-i2p/go-i2p/lib/crypto" - -package for i2p specific crpytography - ![crypto.svg](crypto) +package for i2p specific crpytography + ## Usage ```go diff --git a/lib/i2np/doc.md b/lib/i2np/README.md similarity index 50% rename from lib/i2np/doc.md rename to lib/i2np/README.md index 8b72071..f50765f 100644 --- a/lib/i2np/doc.md +++ b/lib/i2np/README.md @@ -2,354 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/i2np" - -## Usage - -```go -const ( - I2NP_MESSAGE_TYPE_DATABASE_STORE = 1 - I2NP_MESSAGE_TYPE_DATABASE_LOOKUP = 2 - I2NP_MESSAGE_TYPE_DATABASE_SEARCH_REPLY = 3 - I2NP_MESSAGE_TYPE_DELIVERY_STATUS = 10 - I2NP_MESSAGE_TYPE_GARLIC = 11 - I2NP_MESSAGE_TYPE_TUNNEL_DATA = 18 - I2NP_MESSAGE_TYPE_TUNNEL_GATEWAY = 19 - I2NP_MESSAGE_TYPE_DATA = 20 - I2NP_MESSAGE_TYPE_TUNNEL_BUILD = 21 - I2NP_MESSAGE_TYPE_TUNNEL_BUILD_REPLY = 22 - I2NP_MESSAGE_TYPE_VARIABLE_TUNNEL_BUILD = 23 - I2NP_MESSAGE_TYPE_VARIABLE_TUNNEL_BUILD_REPLY = 24 -) -``` - -```go -var ERR_BUILD_REQUEST_RECORD_NOT_ENOUGH_DATA = oops.Errorf("not enough i2np build request record data") -``` - -```go -var ERR_I2NP_NOT_ENOUGH_DATA = oops.Errorf("not enough i2np header data") -``` - -#### func ReadI2NPNTCPData - -```go -func ReadI2NPNTCPData(data []byte, size int) ([]byte, error) -``` - -#### func ReadI2NPNTCPMessageChecksum - -```go -func ReadI2NPNTCPMessageChecksum(data []byte) (int, error) -``` - -#### func ReadI2NPNTCPMessageExpiration - -```go -func ReadI2NPNTCPMessageExpiration(data []byte) (datalib.Date, error) -``` - -#### func ReadI2NPNTCPMessageID - -```go -func ReadI2NPNTCPMessageID(data []byte) (int, error) -``` - -#### func ReadI2NPNTCPMessageSize - -```go -func ReadI2NPNTCPMessageSize(data []byte) (int, error) -``` - -#### func ReadI2NPSSUMessageExpiration - -```go -func ReadI2NPSSUMessageExpiration(data []byte) (datalib.Date, error) -``` - -#### func ReadI2NPType - -```go -func ReadI2NPType(data []byte) (int, error) -``` - -#### type BuildRequestRecord - -```go -type BuildRequestRecord struct { - ReceiveTunnel tunnel.TunnelID - OurIdent common.Hash - NextTunnel tunnel.TunnelID - NextIdent common.Hash - LayerKey session_key.SessionKey - IVKey session_key.SessionKey - ReplyKey session_key.SessionKey - ReplyIV [16]byte - Flag int - RequestTime time.Time - SendMessageID int - Padding [29]byte -} -``` - - -#### func ReadBuildRequestRecord - -```go -func ReadBuildRequestRecord(data []byte) (BuildRequestRecord, error) -``` - -#### type BuildRequestRecordElGamal - -```go -type BuildRequestRecordElGamal [528]byte -``` - - -#### type BuildRequestRecordElGamalAES - -```go -type BuildRequestRecordElGamalAES [528]byte -``` - - -#### type BuildResponseRecord - -```go -type BuildResponseRecord struct { - Hash common.Hash - Padding [495]byte - Reply byte -} -``` - - -#### type BuildResponseRecordELGamal - -```go -type BuildResponseRecordELGamal [528]byte -``` - - -#### type BuildResponseRecordELGamalAES - -```go -type BuildResponseRecordELGamalAES [528]byte -``` - - -#### type Data - -```go -type Data struct { - Length int - Data []byte -} -``` - - -#### type DatabaseLookup - -```go -type DatabaseLookup struct { - Key common.Hash - From common.Hash - Flags byte - ReplyTunnelID [4]byte - Size int - ExcludedPeers []common.Hash - ReplyKey session_key.SessionKey - - ReplyTags []session_tag.SessionTag -} -``` - - -#### type DatabaseSearchReply - -```go -type DatabaseSearchReply struct { - Key common.Hash - Count int - PeerHashes []common.Hash - From common.Hash -} -``` - - -#### type DatabaseStore - -```go -type DatabaseStore struct { - Key common.Hash - Type byte - ReplyToken [4]byte - ReplyTunnelID [4]byte - ReplyGateway common.Hash - Data []byte -} -``` - - -#### type DeliveryStatus - -```go -type DeliveryStatus struct { - MessageID int - Timestamp time.Time -} -``` - - -#### type Garlic - -```go -type Garlic struct { - Count int - Cloves []GarlicClove - Certificate certificate.Certificate - MessageID int - Expiration time.Time -} -``` - - -#### type GarlicClove - -```go -type GarlicClove struct { - DeliveryInstructions GarlicCloveDeliveryInstructions - I2NPMessage I2NPMessage - CloveID int - Expiration time.Time - Certificate certificate.Certificate -} -``` - - -#### type GarlicCloveDeliveryInstructions - -```go -type GarlicCloveDeliveryInstructions struct { - Flag byte - SessionKey session_key.SessionKey - Hash common.Hash - TunnelID tunnel.TunnelID - Delay int -} -``` - - -#### type GarlicElGamal - -```go -type GarlicElGamal []byte -``` - - -#### type I2NPMessage - -```go -type I2NPMessage []byte -``` - - -#### type I2NPNTCPHeader - -```go -type I2NPNTCPHeader struct { - Type int - MessageID int - Expiration time.Time - Size int - Checksum int - Data []byte -} -``` - - -#### func ReadI2NPNTCPHeader - -```go -func ReadI2NPNTCPHeader(data []byte) (I2NPNTCPHeader, error) -``` -Read an entire I2NP message and return the parsed header with embedded encrypted -data - -#### type I2NPSSUHeader - -```go -type I2NPSSUHeader struct { - Type int - Expiration time.Time -} -``` - - -#### func ReadI2NPSSUHeader - -```go -func ReadI2NPSSUHeader(data []byte) (I2NPSSUHeader, error) -``` - -#### type TunnelBuild - -```go -type TunnelBuild [8]BuildRequestRecord -``` - - -#### type TunnelBuildReply - -```go -type TunnelBuildReply [8]BuildResponseRecord -``` - - -#### type TunnelData - -```go -type TunnelData [1028]byte -``` - - -#### type TunnelGatway - -```go -type TunnelGatway struct { - TunnelID tunnel.TunnelID - Length int - Data []byte -} -``` - - -#### type VariableTunnelBuild - -```go -type VariableTunnelBuild struct { - Count int - BuildRequestRecords []BuildRequestRecord -} -``` - - -#### type VariableTunnelBuildReply - -```go -type VariableTunnelBuildReply struct { - Count int - BuildResponseRecords []BuildResponseRecord -} -``` - -# i2np --- - import "github.com/go-i2p/go-i2p/lib/i2np" - - - ![i2np.svg](i2np) + + ## Usage ```go diff --git a/lib/i2np/fuzz/header/doc.md b/lib/i2np/fuzz/header/README.md similarity index 62% rename from lib/i2np/fuzz/header/doc.md rename to lib/i2np/fuzz/header/README.md index d6fe90a..c99b2d0 100644 --- a/lib/i2np/fuzz/header/doc.md +++ b/lib/i2np/fuzz/header/README.md @@ -2,23 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/i2np/fuzz/header" - -## Usage - -#### func Fuzz - -```go -func Fuzz(data []byte) int -``` - -# exportable --- - import "github.com/go-i2p/go-i2p/lib/i2np/fuzz/header" - - - ![exportable.svg](exportable) + + ## Usage #### func Fuzz diff --git a/lib/i2np/fuzz/header/exportable.svg b/lib/i2np/fuzz/header/exportable.svg index 78bd97d..5126871 100644 --- a/lib/i2np/fuzz/header/exportable.svg +++ b/lib/i2np/fuzz/header/exportable.svg @@ -4,30 +4,22 @@ - - + + gocallvis - + cluster_focus - -exportable - - -cluster_github.com/go-i2p/go-i2p/lib/i2np - - -i2np - - + +exportable github.com/go-i2p/go-i2p/lib/i2np/fuzz/header.Fuzz - -Fuzz + +Fuzz @@ -35,8 +27,9 @@ github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPHeader - -ReadI2NPNTCPHeader + +i2np +ReadI2NPNTCPHeader @@ -44,8 +37,8 @@ github.com/go-i2p/go-i2p/lib/i2np/fuzz/header.Fuzz->github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPHeader - - + + diff --git a/lib/i2np/i2np.svg b/lib/i2np/i2np.svg index fa3eb54..8840ea0 100644 --- a/lib/i2np/i2np.svg +++ b/lib/i2np/i2np.svg @@ -4,122 +4,54 @@ - - + + gocallvis - + cluster_focus - -i2np - - -cluster_github.com/sirupsen/logrus - - -logrus - - - - -cluster_*github.com/sirupsen/logrus.Logger - - -(*Logger) - - - - -cluster_github.com/samber/oops - - -oops - - + +i2np -cluster_github.com/go-i2p/logger - - -logger - - - - -cluster_*github.com/go-i2p/logger.Logger - - -(*Logger) - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/data - - -data +cluster_github.com/go-i2p/go-i2p/lib/common/data.Integer + + +(Integer) -cluster_github.com/go-i2p/go-i2p/lib/common/data.Integer - - -(Integer) +cluster_github.com/go-i2p/go-i2p/lib/common/data.Date + + +(Date) -cluster_github.com/go-i2p/go-i2p/lib/common/data.Date - - -(Date) +cluster_*github.com/sirupsen/logrus.Logger + + +(*Logger) - + +cluster_*github.com/go-i2p/logger.Logger + + +(*Logger) + + + + -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPData - - -ReadI2NPNTCPData - - - - - -(*github.com/go-i2p/logger.Logger).WithField - - -WithField - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPData->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(*github.com/sirupsen/logrus.Logger).Debug - - -Debug - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPData->(*github.com/sirupsen/logrus.Logger).Debug - - - +github.com/go-i2p/go-i2p/lib/i2np.ReadBuildRequestRecord + + +ReadBuildRequestRecord @@ -127,998 +59,1044 @@ github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordReceiveTunnel - -readBuildRequestRecordReceiveTunnel - - - - - -(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - -Int - - - - - -github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordReceiveTunnel->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - - - - - - -(*github.com/go-i2p/logger.Logger).WithFields - - -WithFields - - - - - -github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordReceiveTunnel->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordReceiveTunnel->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPSSUMessageExpiration - - -ReadI2NPSSUMessageExpiration - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPSSUMessageExpiration->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPSSUMessageExpiration->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadBuildRequestRecord - - -ReadBuildRequestRecord + +readBuildRequestRecordReceiveTunnel - + github.com/go-i2p/go-i2p/lib/i2np.ReadBuildRequestRecord->github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordReceiveTunnel - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordOurIdent - - -readBuildRequestRecordOurIdent + + +readBuildRequestRecordOurIdent - + github.com/go-i2p/go-i2p/lib/i2np.ReadBuildRequestRecord->github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordOurIdent - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordNextTunnel - - -readBuildRequestRecordNextTunnel + + +readBuildRequestRecordNextTunnel - + github.com/go-i2p/go-i2p/lib/i2np.ReadBuildRequestRecord->github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordNextTunnel - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordNextIdent - - -readBuildRequestRecordNextIdent + + +readBuildRequestRecordNextIdent - + github.com/go-i2p/go-i2p/lib/i2np.ReadBuildRequestRecord->github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordNextIdent - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordLayerKey - - -readBuildRequestRecordLayerKey + + +readBuildRequestRecordLayerKey - + github.com/go-i2p/go-i2p/lib/i2np.ReadBuildRequestRecord->github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordLayerKey - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordIVKey - - -readBuildRequestRecordIVKey + + +readBuildRequestRecordIVKey - + github.com/go-i2p/go-i2p/lib/i2np.ReadBuildRequestRecord->github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordIVKey - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordReplyKey - - -readBuildRequestRecordReplyKey + + +readBuildRequestRecordReplyKey - + github.com/go-i2p/go-i2p/lib/i2np.ReadBuildRequestRecord->github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordReplyKey - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordReplyIV - - -readBuildRequestRecordReplyIV + + +readBuildRequestRecordReplyIV - + github.com/go-i2p/go-i2p/lib/i2np.ReadBuildRequestRecord->github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordReplyIV - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordFlag - - -readBuildRequestRecordFlag + + +readBuildRequestRecordFlag - + github.com/go-i2p/go-i2p/lib/i2np.ReadBuildRequestRecord->github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordFlag - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordRequestTime - - -readBuildRequestRecordRequestTime + + +readBuildRequestRecordRequestTime - + github.com/go-i2p/go-i2p/lib/i2np.ReadBuildRequestRecord->github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordRequestTime - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordSendMessageID - - -readBuildRequestRecordSendMessageID + + +readBuildRequestRecordSendMessageID - + github.com/go-i2p/go-i2p/lib/i2np.ReadBuildRequestRecord->github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordSendMessageID - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordPadding - - -readBuildRequestRecordPadding + + +readBuildRequestRecordPadding - + github.com/go-i2p/go-i2p/lib/i2np.ReadBuildRequestRecord->github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordPadding - - - + + + - + (*github.com/go-i2p/logger.Logger).WithError - - -WithError + + +logger +WithError - + github.com/go-i2p/go-i2p/lib/i2np.ReadBuildRequestRecord->(*github.com/go-i2p/logger.Logger).WithError - - - + + + - + (*github.com/go-i2p/logger.Logger).Error - - -Error + + +logger +Error - + github.com/go-i2p/go-i2p/lib/i2np.ReadBuildRequestRecord->(*github.com/go-i2p/logger.Logger).Error - - - + + + + + + + + +(*github.com/sirupsen/logrus.Logger).Debug + + +logrus +Debug - + github.com/go-i2p/go-i2p/lib/i2np.ReadBuildRequestRecord->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +(*github.com/go-i2p/logger.Logger).WithFields + + +logger +WithFields + + + + + +github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordReceiveTunnel->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordReceiveTunnel->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + +data +Int + + + + + +github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordReceiveTunnel->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordOurIdent->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordOurIdent->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordNextTunnel->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordNextTunnel->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordNextTunnel->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordNextTunnel->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordNextIdent->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordNextIdent->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordLayerKey->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordLayerKey->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordIVKey->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordIVKey->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordReplyKey->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordReplyKey->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordReplyIV->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordReplyIV->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordFlag->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordFlag->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordFlag->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - - -github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordRequestTime->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - + + +github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordFlag->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordRequestTime->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordRequestTime->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - - -github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordSendMessageID->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - + + +github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordRequestTime->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordSendMessageID->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordSendMessageID->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordSendMessageID->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordPadding->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.readBuildRequestRecordPadding->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageExpiration - - -ReadI2NPNTCPMessageExpiration + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPData + + +ReadI2NPNTCPData - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageExpiration->(*github.com/go-i2p/logger.Logger).WithFields - - - + + +(*github.com/go-i2p/logger.Logger).WithField + + +logger +WithField - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageExpiration->(*github.com/sirupsen/logrus.Logger).Debug - - - + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPData->(*github.com/go-i2p/logger.Logger).WithField + + + - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageChecksum - - -ReadI2NPNTCPMessageChecksum - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageChecksum->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageChecksum->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageChecksum->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageSize - - -ReadI2NPNTCPMessageSize - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageSize->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageSize->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageSize->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPType - - -ReadI2NPType - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPType->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPType->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(*github.com/go-i2p/logger.Logger).Warn - - -Warn - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPType->(*github.com/go-i2p/logger.Logger).Warn - - - - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPType->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPSSUHeader - - -ReadI2NPSSUHeader - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPSSUHeader->github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPSSUMessageExpiration - - - - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPSSUHeader->github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPType - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/data.Date).Time - - -Time - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPSSUHeader->(github.com/go-i2p/go-i2p/lib/common/data.Date).Time - - - - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPSSUHeader->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPSSUHeader->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPSSUHeader->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPSSUHeader->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageID - - -ReadI2NPNTCPMessageID - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageID->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageID->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageID->(*github.com/sirupsen/logrus.Logger).Debug - - - + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPData->(*github.com/sirupsen/logrus.Logger).Debug + + + - + github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPHeader - - -ReadI2NPNTCPHeader + + +ReadI2NPNTCPHeader - + github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPHeader->github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPData - - - + + + - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPHeader->github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageExpiration - - - - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPHeader->github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageChecksum - - - - - - - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPHeader->github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageSize - - - + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPType + + +ReadI2NPType - + github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPHeader->github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPType - - - + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageID + + +ReadI2NPNTCPMessageID - + github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPHeader->github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageID - - - + + + - - -github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPHeader->(github.com/go-i2p/go-i2p/lib/common/data.Date).Time - - - + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageExpiration + + +ReadI2NPNTCPMessageExpiration + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPHeader->github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageExpiration + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageSize + + +ReadI2NPNTCPMessageSize + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPHeader->github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageSize + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageChecksum + + +ReadI2NPNTCPMessageChecksum + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPHeader->github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageChecksum + + + - + github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPHeader->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPHeader->(*github.com/go-i2p/logger.Logger).WithError - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPHeader->(*github.com/go-i2p/logger.Logger).Error - - - + + + - + github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPHeader->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/data.Date).Time + + +data +Time + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPHeader->(github.com/go-i2p/go-i2p/lib/common/data.Date).Time + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPType->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(*github.com/go-i2p/logger.Logger).Warn + + +logger +Warn + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPType->(*github.com/go-i2p/logger.Logger).Warn + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPType->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPType->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageID->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageID->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageID->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageExpiration->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageExpiration->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageSize->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageSize->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageSize->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageChecksum->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageChecksum->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPMessageChecksum->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPSSUMessageExpiration + + +ReadI2NPSSUMessageExpiration + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPSSUMessageExpiration->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPSSUMessageExpiration->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPSSUHeader + + +ReadI2NPSSUHeader + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPSSUHeader->github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPType + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPSSUHeader->github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPSSUMessageExpiration + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPSSUHeader->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPSSUHeader->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPSSUHeader->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPSSUHeader->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPSSUHeader->(github.com/go-i2p/go-i2p/lib/common/data.Date).Time + + + github.com/go-i2p/go-i2p/lib/i2np.init - - -init + + +init - + github.com/go-i2p/logger.GetGoI2PLogger - - -GetGoI2PLogger + + +logger +GetGoI2PLogger - + github.com/go-i2p/go-i2p/lib/i2np.init->github.com/go-i2p/logger.GetGoI2PLogger - - - + + + - + github.com/samber/oops.Errorf - - -Errorf + + +oops +Errorf - + github.com/go-i2p/go-i2p/lib/i2np.init->github.com/samber/oops.Errorf - - - + + + diff --git a/lib/keys/doc.md b/lib/keys/README.md similarity index 50% rename from lib/keys/doc.md rename to lib/keys/README.md index 9e375e0..7a807f7 100644 --- a/lib/keys/doc.md +++ b/lib/keys/README.md @@ -2,107 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/keys" - -## Usage - -#### type KeyStore - -```go -type KeyStore interface { - KeyID() string - // GetKeys returns the public and private keys - GetKeys() (publicKey crypto.PublicKey, privateKey crypto.PrivateKey, err error) - // StoreKeys stores the keys - StoreKeys() error -} -``` - -KeyStore is an interface for storing and retrieving keys - -#### type KeyStoreImpl - -```go -type KeyStoreImpl struct { -} -``` - - -#### func NewKeyStoreImpl - -```go -func NewKeyStoreImpl(dir, name string, privateKey crypto.PrivateKey) *KeyStoreImpl -``` - -#### func (*KeyStoreImpl) GetKeys - -```go -func (ks *KeyStoreImpl) GetKeys() (crypto.PublicKey, crypto.PrivateKey, error) -``` - -#### func (*KeyStoreImpl) KeyID - -```go -func (ks *KeyStoreImpl) KeyID() string -``` - -#### func (*KeyStoreImpl) StoreKeys - -```go -func (ks *KeyStoreImpl) StoreKeys() error -``` - -#### type RouterInfoKeystore - -```go -type RouterInfoKeystore struct { - *sntp.RouterTimestamper -} -``` - -RouterInfoKeystore is an implementation of KeyStore for storing and retrieving -RouterInfo private keys and exporting RouterInfos - -#### func NewRouterInfoKeystore - -```go -func NewRouterInfoKeystore(dir, name string) (*RouterInfoKeystore, error) -``` -NewRouterInfoKeystore creates a new RouterInfoKeystore with fresh and new -private keys it accepts a directory to store the keys in and a name for the keys -then it generates new private keys for the routerInfo if none exist - -#### func (*RouterInfoKeystore) ConstructRouterInfo - -```go -func (ks *RouterInfoKeystore) ConstructRouterInfo(addresses []*router_address.RouterAddress) (*router_info.RouterInfo, error) -``` - -#### func (*RouterInfoKeystore) GetKeys - -```go -func (ks *RouterInfoKeystore) GetKeys() (crypto.PublicKey, crypto.PrivateKey, error) -``` - -#### func (*RouterInfoKeystore) KeyID - -```go -func (ks *RouterInfoKeystore) KeyID() string -``` - -#### func (*RouterInfoKeystore) StoreKeys - -```go -func (ks *RouterInfoKeystore) StoreKeys() error -``` - -# keys --- - import "github.com/go-i2p/go-i2p/lib/keys" - - - ![keys.svg](keys) + + ## Usage #### type KeyStore diff --git a/lib/keys/keys.svg b/lib/keys/keys.svg index 8118f5f..39c660f 100644 --- a/lib/keys/keys.svg +++ b/lib/keys/keys.svg @@ -4,245 +4,259 @@ - - + + gocallvis - + cluster_focus - -keys - - -cluster_github.com/samber/oops - - -oops - - - - -cluster_github.com/go-i2p/go-i2p/lib/util/time/sntp - - -sntp - - - - -cluster_*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper - - -(*RouterTimestamper) - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/router_info - - -router_info - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/router_identity - - -router_identity - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/key_certificate - - -key_certificate - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate - - -(KeyCertificate) - - + +keys -cluster_github.com/go-i2p/go-i2p/lib/common/data - - -data +cluster_github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate + + +(KeyCertificate) -cluster_github.com/go-i2p/go-i2p/lib/common/certificate - - -certificate +cluster_*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper + + +(*RouterTimestamper) cluster_*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore - -(*RouterInfoKeystore) + +(*RouterInfoKeystore) cluster_*github.com/go-i2p/go-i2p/lib/keys.KeyStoreImpl - -(*KeyStoreImpl) - - - - - -github.com/go-i2p/go-i2p/lib/keys.loadExistingKey - - -loadExistingKey - - - - - -github.com/samber/oops.Errorf - - -Errorf - - - - - -github.com/go-i2p/go-i2p/lib/keys.loadExistingKey->github.com/samber/oops.Errorf - - - + +(*KeyStoreImpl) - + github.com/go-i2p/go-i2p/lib/keys.NewRouterInfoKeystore - - -NewRouterInfoKeystore - - - - - -github.com/go-i2p/go-i2p/lib/keys.NewRouterInfoKeystore->github.com/go-i2p/go-i2p/lib/keys.loadExistingKey - - - + + +NewRouterInfoKeystore - + github.com/go-i2p/go-i2p/lib/keys.generateNewKey - - -generateNewKey + + +generateNewKey - + github.com/go-i2p/go-i2p/lib/keys.NewRouterInfoKeystore->github.com/go-i2p/go-i2p/lib/keys.generateNewKey - - - + + + - + github.com/go-i2p/go-i2p/lib/util/time/sntp.NewRouterTimestamper - - -NewRouterTimestamper + + +sntp +NewRouterTimestamper - + github.com/go-i2p/go-i2p/lib/keys.NewRouterInfoKeystore->github.com/go-i2p/go-i2p/lib/util/time/sntp.NewRouterTimestamper - - - + + + - + -(*github.com/go-i2p/go-i2p/lib/keys.KeyStoreImpl).StoreKeys - - -StoreKeys +github.com/go-i2p/go-i2p/lib/keys.loadExistingKey + + +loadExistingKey - - -(*github.com/go-i2p/go-i2p/lib/keys.KeyStoreImpl).KeyID - - -KeyID - - - - + -(*github.com/go-i2p/go-i2p/lib/keys.KeyStoreImpl).StoreKeys->(*github.com/go-i2p/go-i2p/lib/keys.KeyStoreImpl).KeyID - - - +github.com/go-i2p/go-i2p/lib/keys.NewRouterInfoKeystore->github.com/go-i2p/go-i2p/lib/keys.loadExistingKey + + + - + + +github.com/samber/oops.Errorf + + +oops +Errorf + + + + + +github.com/go-i2p/go-i2p/lib/keys.loadExistingKey->github.com/samber/oops.Errorf + + + + + + + -(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo - - -ConstructRouterInfo - - - - - -(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).GetKeys - - -GetKeys - - - - - -(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).GetKeys - - - +github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt + + +data +NewIntegerFromInt - + github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateWithType - - -NewCertificateWithType + + +certificate +NewCertificateWithType + + + + + +github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate + + +key_certificate +KeyCertificateFromCertificate + + + + + +github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity + + +router_identity +NewRouterIdentity + + + + + +github.com/go-i2p/go-i2p/lib/common/router_info.NewRouterInfo + + +router_info +NewRouterInfo + + + + + +(*github.com/go-i2p/go-i2p/lib/keys.KeyStoreImpl).StoreKeys + + +StoreKeys + + + + + +(*github.com/go-i2p/go-i2p/lib/keys.KeyStoreImpl).KeyID + + +KeyID + + + + + +(*github.com/go-i2p/go-i2p/lib/keys.KeyStoreImpl).StoreKeys->(*github.com/go-i2p/go-i2p/lib/keys.KeyStoreImpl).KeyID + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).StoreKeys + + +StoreKeys + + + + + +(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).KeyID + + +KeyID + + + + + +(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).StoreKeys->(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).KeyID + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo + + +ConstructRouterInfo + + + + + +(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->github.com/samber/oops.Errorf + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt + + + @@ -250,170 +264,110 @@ (*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateWithType - - - - - - - -github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt - - -NewIntegerFromInt - - - - - -(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate - - -KeyCertificateFromCertificate + + - -(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize - - -CryptoSize - - - - -(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize - - -SignatureSize - - - - - -(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity - - -NewRouterIdentity +(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate + + + - + (*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/router_info.NewRouterInfo - - -NewRouterInfo + + + - + (*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->github.com/go-i2p/go-i2p/lib/common/router_info.NewRouterInfo - - - + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).GetKeys + + +GetKeys + + + + + +(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).GetKeys + + + - + (*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime - - -GetCurrentTime + + +sntp +GetCurrentTime - -(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->github.com/samber/oops.Errorf - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).StoreKeys - - -StoreKeys - - - - - -(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).KeyID - - -KeyID - - - - -(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).StoreKeys->(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).KeyID - - - +(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize + + +key_certificate +CryptoSize + + + + + +(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize + + +key_certificate +SignatureSize + + + + + +(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize + + + diff --git a/lib/netdb/doc.md b/lib/netdb/README.md similarity index 50% rename from lib/netdb/doc.md rename to lib/netdb/README.md index 4f2e76e..fbd2293 100644 --- a/lib/netdb/doc.md +++ b/lib/netdb/README.md @@ -2,193 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/netdb" - -## Usage - -```go -const CacheFileName = "sizecache.txt" -``` -name of file to hold precomputed size of netdb - -#### type Entry - -```go -type Entry struct { - *router_info.RouterInfo - *lease_set.LeaseSet -} -``` - -netdb entry wraps a router info and provides serialization - -#### func (*Entry) ReadFrom - -```go -func (e *Entry) ReadFrom(r io.Reader) (err error) -``` - -#### func (*Entry) WriteTo - -```go -func (e *Entry) WriteTo(w io.Writer) (err error) -``` - -#### type NetworkDatabase - -```go -type NetworkDatabase interface { - // obtain a RouterInfo by its hash locally - // return a RouterInfo if we found it locally - // return nil if the RouterInfo cannot be found locally - GetRouterInfo(hash common.Hash) router_info.RouterInfo - - // store a router info locally - StoreRouterInfo(ri router_info.RouterInfo) - - // try obtaining more peers with a bootstrap instance until we get minRouters number of router infos - // returns error if bootstrap.GetPeers returns an error otherwise returns nil - Reseed(b bootstrap.Bootstrap, minRouters int) error - - // return how many router infos we have - Size() int - - // Recaculate size of netdb from backend - RecalculateSize() error - - // ensure underlying resources exist , i.e. directories, files, configs - Ensure() error -} -``` - -i2p network database, storage of i2p RouterInfos - -#### type Resolver - -```go -type Resolver interface { - // resolve a router info by hash - // return a chan that yields the found RouterInfo or nil if it could not be found after timeout - Lookup(hash common.Hash, timeout time.Duration) chan router_info.RouterInfo -} -``` - -resolves unknown RouterInfos given the hash of their RouterIdentity - -#### func KademliaResolver - -```go -func KademliaResolver(netDb NetworkDatabase, pool *tunnel.Pool) (r Resolver) -``` -create a new resolver that stores result into a NetworkDatabase and uses a -tunnel pool for the lookup - -#### type StdNetDB - -```go -type StdNetDB struct { - DB string - RouterInfos map[common.Hash]Entry - LeaseSets map[common.Hash]Entry -} -``` - -standard network database implementation using local filesystem skiplist - -#### func NewStdNetDB - -```go -func NewStdNetDB(db string) StdNetDB -``` - -#### func (*StdNetDB) CheckFilePathValid - -```go -func (db *StdNetDB) CheckFilePathValid(fpath string) bool -``` - -#### func (*StdNetDB) Create - -```go -func (db *StdNetDB) Create() (err error) -``` -create base network database directory - -#### func (*StdNetDB) Ensure - -```go -func (db *StdNetDB) Ensure() (err error) -``` -ensure that the network database exists - -#### func (*StdNetDB) Exists - -```go -func (db *StdNetDB) Exists() bool -``` -return true if the network db directory exists and is writable - -#### func (*StdNetDB) GetRouterInfo - -```go -func (db *StdNetDB) GetRouterInfo(hash common.Hash) (chnl chan router_info.RouterInfo) -``` - -#### func (*StdNetDB) Path - -```go -func (db *StdNetDB) Path() string -``` -get netdb path - -#### func (*StdNetDB) RecalculateSize - -```go -func (db *StdNetDB) RecalculateSize() (err error) -``` -recalculateSize recalculates cached size of netdb - -#### func (*StdNetDB) Reseed - -```go -func (db *StdNetDB) Reseed(b bootstrap.Bootstrap, minRouters int) (err error) -``` -reseed if we have less than minRouters known routers returns error if reseed -failed - -#### func (*StdNetDB) Save - -```go -func (db *StdNetDB) Save() (err error) -``` - -#### func (*StdNetDB) SaveEntry - -```go -func (db *StdNetDB) SaveEntry(e *Entry) (err error) -``` - -#### func (*StdNetDB) Size - -```go -func (db *StdNetDB) Size() (routers int) -``` -return how many routers we know about in our network database - -#### func (*StdNetDB) SkiplistFile - -```go -func (db *StdNetDB) SkiplistFile(hash common.Hash) (fpath string) -``` -get the skiplist file that a RouterInfo with this hash would go in - -# netdb --- - import "github.com/go-i2p/go-i2p/lib/netdb" - - - ![netdb.svg](netdb) + + ## Usage ```go diff --git a/lib/netdb/netdb.svg b/lib/netdb/netdb.svg index ed760a2..94e6671 100644 --- a/lib/netdb/netdb.svg +++ b/lib/netdb/netdb.svg @@ -4,102 +4,72 @@ - - + + gocallvis - + cluster_focus - -netdb + +netdb - -cluster_github.com/sirupsen/logrus - - -logrus - - - - + cluster_*github.com/sirupsen/logrus.Logger - - -(*Logger) - - - - -cluster_github.com/go-i2p/logger - - -logger - - - - -cluster_*github.com/go-i2p/logger.Logger - - -(*Logger) - - - - -cluster_github.com/go-i2p/go-i2p/lib/util - - -util + + +(*Logger) -cluster_github.com/go-i2p/go-i2p/lib/common/router_info - - -router_info - - - - -cluster_*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo - - -(*RouterInfo) +cluster_*github.com/go-i2p/logger.Logger + + +(*Logger) -cluster_github.com/go-i2p/go-i2p/lib/common/base64 - - -base64 +cluster_*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB + + +(*StdNetDB) -cluster_*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB - - -(*StdNetDB) +cluster_*github.com/go-i2p/go-i2p/lib/netdb.Entry + + +(*Entry) -cluster_*github.com/go-i2p/go-i2p/lib/netdb.Entry - - -(*Entry) +cluster_*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo + + +(*RouterInfo) + + + + + +github.com/go-i2p/go-i2p/lib/common/base64.EncodeToString + + +base64 +EncodeToString - + github.com/go-i2p/go-i2p/lib/netdb.NewStdNetDB - - -NewStdNetDB + + +NewStdNetDB @@ -107,17 +77,18 @@ (*github.com/go-i2p/logger.Logger).WithField - -WithField + +logger +WithField - + github.com/go-i2p/go-i2p/lib/netdb.NewStdNetDB->(*github.com/go-i2p/logger.Logger).WithField - - - + + + @@ -125,80 +96,122 @@ (*github.com/sirupsen/logrus.Logger).Debug - -Debug + +logrus +Debug - + github.com/go-i2p/go-i2p/lib/netdb.NewStdNetDB->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +github.com/go-i2p/go-i2p/lib/util.CheckFileExists + + +util +CheckFileExists + + + + + +github.com/go-i2p/go-i2p/lib/util.CheckFileAge + + +util +CheckFileAge - + github.com/go-i2p/go-i2p/lib/netdb.init - - -init + + +init - + github.com/go-i2p/logger.GetGoI2PLogger - - -GetGoI2PLogger + + +logger +GetGoI2PLogger - + github.com/go-i2p/go-i2p/lib/netdb.init->github.com/go-i2p/logger.GetGoI2PLogger - - - + + + + + + + + +github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo + + +router_info +ReadRouterInfo + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash + + +router_info +IdentHash - + (*github.com/go-i2p/go-i2p/lib/netdb.Entry).WriteTo - - -WriteTo + + +WriteTo - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Save - - -Save + + +Save - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry - - -SaveEntry + + +SaveEntry - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Save->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry - - - + + + @@ -206,17 +219,18 @@ (*github.com/go-i2p/logger.Logger).WithError - -WithError + +logger +WithError - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Save->(*github.com/go-i2p/logger.Logger).WithError - - - + + + @@ -224,395 +238,342 @@ (*github.com/go-i2p/logger.Logger).Error - -Error + +logger +Error - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Save->(*github.com/go-i2p/logger.Logger).Error - - - + + + - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Save->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry->(*github.com/go-i2p/go-i2p/lib/netdb.Entry).WriteTo - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile - - -SkiplistFile - - - - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash - - -IdentHash + + + - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash - - - + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry->(*github.com/go-i2p/go-i2p/lib/netdb.Entry).WriteTo + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile + + +SkiplistFile + + + + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile + + + - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry->(*github.com/go-i2p/logger.Logger).WithField - - - + + + - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry->(*github.com/go-i2p/logger.Logger).WithError - - - + + + - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry->(*github.com/go-i2p/logger.Logger).Error - - - + + + - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path - - -Path - - - - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/base64.EncodeToString - - -EncodeToString + + + - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile->github.com/go-i2p/go-i2p/lib/common/base64.EncodeToString - - - + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path + + +Path + + + + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path + + + - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile->(*github.com/go-i2p/logger.Logger).WithField - - - + + + - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo - - -GetRouterInfo + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Exists + + +Exists - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile - - - + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Exists->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path + + + - - -github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo - - -ReadRouterInfo + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create + + +Create - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo->github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo - - - + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path + + + - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo->(*github.com/go-i2p/logger.Logger).WithField - - - + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create->(*github.com/go-i2p/logger.Logger).WithField + + + - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo->(*github.com/go-i2p/logger.Logger).WithError - - - + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create->(*github.com/go-i2p/logger.Logger).WithError + + + - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo->(*github.com/go-i2p/logger.Logger).Error - - - + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create->(*github.com/go-i2p/logger.Logger).Error + + + - + -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo->(*github.com/sirupsen/logrus.Logger).Debug - - - +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create->(*github.com/sirupsen/logrus.Logger).Debug + + + - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Reseed - - -Reseed + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Ensure + + +Ensure + + + + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Ensure->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Exists + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Ensure->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Ensure->(*github.com/sirupsen/logrus.Logger).Debug + + + - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size - - -Size - - - - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Reseed->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Reseed->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(*github.com/go-i2p/logger.Logger).Warn - - -Warn - - - - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Reseed->(*github.com/go-i2p/logger.Logger).Warn - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Reseed->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).cacheFilePath - - -cacheFilePath - - - - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).cacheFilePath - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize - - -RecalculateSize - - - - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize - - - - - - - - -github.com/go-i2p/go-i2p/lib/util.CheckFileExists - - -CheckFileExists + + +Size - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size->github.com/go-i2p/go-i2p/lib/util.CheckFileExists - - - - - - - - -github.com/go-i2p/go-i2p/lib/util.CheckFileAge - - -CheckFileAge + + + - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size->github.com/go-i2p/go-i2p/lib/util.CheckFileAge - - - + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).cacheFilePath + + +cacheFilePath + + + + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).cacheFilePath + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize + + +RecalculateSize + + + + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize + + + - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size->(*github.com/go-i2p/logger.Logger).WithError - - - + + + - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size->(*github.com/go-i2p/logger.Logger).Error - - - + + + - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + @@ -620,161 +581,208 @@ (*github.com/sirupsen/logrus.Logger).Panic - -Panic + +logrus +Panic - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size->(*github.com/sirupsen/logrus.Logger).Panic - - - + + + - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).cacheFilePath->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path - - - + + + - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path - - - + + + - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).cacheFilePath - - - + + + - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize->(*github.com/go-i2p/logger.Logger).WithField - - - + + + - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize->(*github.com/go-i2p/logger.Logger).WithError - - - + + + - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize->(*github.com/go-i2p/logger.Logger).Error - - - + + + - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Exists - - -Exists + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Reseed + + +Reseed - + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Reseed->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Reseed->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(*github.com/go-i2p/logger.Logger).Warn + + +logger +Warn + + + + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Reseed->(*github.com/go-i2p/logger.Logger).Warn + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Reseed->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo + + +GetRouterInfo + + + + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo->github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Exists->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path - - - +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo->(*github.com/go-i2p/logger.Logger).WithError + + + - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create - - -Create - - - - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - + -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create->(*github.com/go-i2p/logger.Logger).Error - - - +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo->(*github.com/go-i2p/logger.Logger).Error + + + - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create->(*github.com/sirupsen/logrus.Logger).Debug - - - + + +(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo->(*github.com/sirupsen/logrus.Logger).Debug + + + - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).CheckFilePathValid - - -CheckFilePathValid + + +CheckFilePathValid @@ -782,62 +790,27 @@ (*github.com/go-i2p/logger.Logger).WithFields - -WithFields + +logger +WithFields - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).CheckFilePathValid->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).CheckFilePathValid->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Ensure - - -Ensure - - - - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Ensure->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Exists - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Ensure->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Ensure->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + diff --git a/lib/netdb/reseed/doc.md b/lib/netdb/reseed/README.md similarity index 55% rename from lib/netdb/reseed/doc.md rename to lib/netdb/reseed/README.md index 8d89d1c..9e6e092 100644 --- a/lib/netdb/reseed/doc.md +++ b/lib/netdb/reseed/README.md @@ -2,38 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/netdb/reseed" - -## Usage - -```go -const ( - I2pUserAgent = "Wget/1.11.4" -) -``` - -#### type Reseed - -```go -type Reseed struct { - net.Dialer -} -``` - - -#### func (Reseed) SingleReseed - -```go -func (r Reseed) SingleReseed(uri string) ([]router_info.RouterInfo, error) -``` - -# reseed --- - import "github.com/go-i2p/go-i2p/lib/netdb/reseed" - - - ![reseed.svg](reseed) + + ## Usage ```go diff --git a/lib/netdb/reseed/reseed.svg b/lib/netdb/reseed/reseed.svg index 81a2bde..cb7d47b 100644 --- a/lib/netdb/reseed/reseed.svg +++ b/lib/netdb/reseed/reseed.svg @@ -4,146 +4,83 @@ - - + + gocallvis - + cluster_focus - -reseed - - -cluster_github.com/sirupsen/logrus - - -logrus - - - - -cluster_*github.com/sirupsen/logrus.Logger - - -(*Logger) - - - - -cluster_github.com/samber/oops - - -oops - - - - -cluster_github.com/go-i2p/logger - - -logger - - - - -cluster_*github.com/go-i2p/logger.Logger - - -(*Logger) - - + +reseed -cluster_github.com/go-i2p/go-i2p/lib/su3 - - -su3 - - - - -cluster_*github.com/go-i2p/go-i2p/lib/su3.SU3 - - -(*SU3) +cluster_github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed + + +(Reseed) -cluster_github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed - - -(Reseed) +cluster_github.com/eyedeekay/go-unzip/pkg/unzip.Unzip + + +(Unzip) -cluster_github.com/go-i2p/go-i2p/lib/common/router_info - - -router_info - - - - -cluster_github.com/eyedeekay/go-unzip/pkg/unzip - - -unzip +cluster_*github.com/sirupsen/logrus.Logger + + +(*Logger) -cluster_github.com/eyedeekay/go-unzip/pkg/unzip.Unzip - - -(Unzip) +cluster_*github.com/go-i2p/logger.Logger + + +(*Logger) - + +cluster_*github.com/go-i2p/go-i2p/lib/su3.SU3 + + +(*SU3) + + + + -github.com/go-i2p/go-i2p/lib/netdb/reseed.init - - -init +github.com/go-i2p/go-i2p/lib/su3.Read + + +su3 +Read - - -github.com/go-i2p/logger.GetGoI2PLogger - - -GetGoI2PLogger - - - - - -github.com/go-i2p/go-i2p/lib/netdb/reseed.init->github.com/go-i2p/logger.GetGoI2PLogger - - - + + +github.com/samber/oops.Errorf + + +oops +Errorf - -github.com/eyedeekay/go-unzip/pkg/unzip.New - - -New - - - - -(github.com/eyedeekay/go-unzip/pkg/unzip.Unzip).Extract - - -Extract +github.com/eyedeekay/go-unzip/pkg/unzip.New + + +unzip +New @@ -151,62 +88,37 @@ github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo - -ReadRouterInfo + +router_info +ReadRouterInfo - + -(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed - - -SingleReseed +github.com/go-i2p/go-i2p/lib/netdb/reseed.init + + +init - - -(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->github.com/eyedeekay/go-unzip/pkg/unzip.New - - - - - - - - -(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(github.com/eyedeekay/go-unzip/pkg/unzip.Unzip).Extract - - - - - - - - -(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo - - - - - - - + -github.com/go-i2p/go-i2p/lib/su3.Read - - -Read +github.com/go-i2p/logger.GetGoI2PLogger + + +logger +GetGoI2PLogger - - -(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->github.com/go-i2p/go-i2p/lib/su3.Read - - - + + +github.com/go-i2p/go-i2p/lib/netdb/reseed.init->github.com/go-i2p/logger.GetGoI2PLogger + + + @@ -214,17 +126,9 @@ (*github.com/go-i2p/go-i2p/lib/su3.SU3).Content - -Content - - - - - -(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/go-i2p/go-i2p/lib/su3.SU3).Content - - - + +su3 +Content @@ -232,8 +136,143 @@ (*github.com/go-i2p/go-i2p/lib/su3.SU3).Signature - -Signature + +su3 +Signature + + + + + +(*github.com/go-i2p/logger.Logger).WithField + + +logger +WithField + + + + + +(*github.com/go-i2p/logger.Logger).WithError + + +logger +WithError + + + + + +(*github.com/go-i2p/logger.Logger).Error + + +logger +Error + + + + + +(*github.com/go-i2p/logger.Logger).WithFields + + +logger +WithFields + + + + + +(*github.com/go-i2p/logger.Logger).Warn + + +logger +Warn + + + + + +(*github.com/sirupsen/logrus.Logger).Debug + + +logrus +Debug + + + + + +(*github.com/sirupsen/logrus.Logger).Println + + +logrus +Println + + + + + +(github.com/eyedeekay/go-unzip/pkg/unzip.Unzip).Extract + + +unzip +Extract + + + + + +(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed + + +SingleReseed + + + + + +(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->github.com/go-i2p/go-i2p/lib/su3.Read + + + + + + + + +(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->github.com/samber/oops.Errorf + + + + + + + + +(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->github.com/eyedeekay/go-unzip/pkg/unzip.New + + + + + + + + +(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo + + + + + + + + +(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/go-i2p/go-i2p/lib/su3.SU3).Content + + + @@ -241,152 +280,80 @@ (github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/go-i2p/go-i2p/lib/su3.SU3).Signature - - - - - - - -(*github.com/go-i2p/logger.Logger).WithField - - -WithField + + - + (github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(*github.com/go-i2p/logger.Logger).WithError - - -WithError + + + - + (github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(*github.com/go-i2p/logger.Logger).Error - - -Error + + + - + (github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(*github.com/go-i2p/logger.Logger).WithFields - - -WithFields + + + - + (github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(*github.com/go-i2p/logger.Logger).Warn - - -Warn + + + - + (github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/go-i2p/logger.Logger).Warn - - - - - - - - -github.com/samber/oops.Errorf - - -Errorf - - - - - -(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->github.com/samber/oops.Errorf - - - - - - - - -(*github.com/sirupsen/logrus.Logger).Debug - - -Debug + + + - + (github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/sirupsen/logrus.Logger).Println - - -Println + + + - + (github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/sirupsen/logrus.Logger).Println - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(github.com/eyedeekay/go-unzip/pkg/unzip.Unzip).Extract + + + diff --git a/lib/router/doc.md b/lib/router/README.md similarity index 51% rename from lib/router/doc.md rename to lib/router/README.md index 4a34d6e..556acaa 100644 --- a/lib/router/doc.md +++ b/lib/router/README.md @@ -2,73 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/router" - -## Usage - -#### type Router - -```go -type Router struct { - // keystore for router info - *keys.RouterInfoKeystore - // multi-transport manager - *transport.TransportMuxer -} -``` - -i2p router type - -#### func CreateRouter - -```go -func CreateRouter(cfg *config.RouterConfig) (*Router, error) -``` -CreateRouter creates a router with the provided configuration - -#### func FromConfig - -```go -func FromConfig(c *config.RouterConfig) (r *Router, err error) -``` -create router from configuration - -#### func (*Router) Close - -```go -func (r *Router) Close() error -``` -Close closes any internal state and finallizes router resources so that nothing -can start up again - -#### func (*Router) Start - -```go -func (r *Router) Start() -``` -Start starts router mainloop - -#### func (*Router) Stop - -```go -func (r *Router) Stop() -``` -Stop starts stopping internal state of router - -#### func (*Router) Wait - -```go -func (r *Router) Wait() -``` -Wait blocks until router is fully stopped - -# router --- - import "github.com/go-i2p/go-i2p/lib/router" - - - ![router.svg](router) + + ## Usage #### type Router diff --git a/lib/router/router.svg b/lib/router/router.svg index fcbe78d..c653152 100644 --- a/lib/router/router.svg +++ b/lib/router/router.svg @@ -4,178 +4,172 @@ - - + + gocallvis - + cluster_focus - -router - - -cluster_github.com/sirupsen/logrus - - -logrus - - - - -cluster_*github.com/sirupsen/logrus.Logger - - -(*Logger) - - - - -cluster_github.com/go-i2p/logger - - -logger - - - - -cluster_*github.com/go-i2p/logger.Logger - - -(*Logger) - - - - -cluster_github.com/go-i2p/go-i2p/lib/transport/ntcp - - -ntcp - - - - -cluster_*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport - - -(*NTCP2Transport) - - - - -cluster_github.com/go-i2p/go-i2p/lib/transport - - -transport - - + +router -cluster_github.com/go-i2p/go-i2p/lib/netdb - - -netdb - - - - -cluster_*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB - - -(*StdNetDB) - - - - -cluster_github.com/go-i2p/go-i2p/lib/keys - - -keys +cluster_*github.com/sirupsen/logrus.Logger + + +(*Logger) -cluster_*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore - - -(*RouterInfoKeystore) +cluster_*github.com/go-i2p/logger.Logger + + +(*Logger) - -cluster_github.com/go-i2p/go-i2p/lib/common/router_info - - -router_info + +cluster_*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport + + +(*NTCP2Transport) -cluster_*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo - - -(*RouterInfo) +cluster_*github.com/go-i2p/go-i2p/lib/router.Router + + +(*Router) + + + + +cluster_*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB + + +(*StdNetDB) -cluster_github.com/go-i2p/go-i2p/lib/common/base32 - - -base32 +cluster_*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore + + +(*RouterInfoKeystore) -cluster_*github.com/go-i2p/go-i2p/lib/router.Router - - -(*Router) +cluster_*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo + + +(*RouterInfo) github.com/go-i2p/go-i2p/lib/router.CreateRouter - - -CreateRouter + + +CreateRouter github.com/go-i2p/go-i2p/lib/router.FromConfig - - -FromConfig + + +FromConfig - + github.com/go-i2p/go-i2p/lib/router.CreateRouter->github.com/go-i2p/go-i2p/lib/router.FromConfig - - - + + + + + + + + +github.com/go-i2p/go-i2p/lib/keys.NewRouterInfoKeystore + + +keys +NewRouterInfoKeystore + + + + + +github.com/go-i2p/go-i2p/lib/router.CreateRouter->github.com/go-i2p/go-i2p/lib/keys.NewRouterInfoKeystore + + + - + github.com/go-i2p/go-i2p/lib/common/base32.EncodeToString - - -EncodeToString + + +base32 +EncodeToString - + github.com/go-i2p/go-i2p/lib/router.CreateRouter->github.com/go-i2p/go-i2p/lib/common/base32.EncodeToString - - - + + + + + + + + +github.com/go-i2p/go-i2p/lib/transport/ntcp.NewNTCP2Transport + + +ntcp +NewNTCP2Transport + + + + + +github.com/go-i2p/go-i2p/lib/router.CreateRouter->github.com/go-i2p/go-i2p/lib/transport/ntcp.NewNTCP2Transport + + + + + + + + +github.com/go-i2p/go-i2p/lib/transport.Mux + + +transport +Mux + + + + + +github.com/go-i2p/go-i2p/lib/router.CreateRouter->github.com/go-i2p/go-i2p/lib/transport.Mux + + + @@ -183,179 +177,132 @@ (*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).AddAddress - -AddAddress + +router_info +AddAddress - + github.com/go-i2p/go-i2p/lib/router.CreateRouter->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).AddAddress - - - - - - - - -github.com/go-i2p/go-i2p/lib/keys.NewRouterInfoKeystore - - -NewRouterInfoKeystore - - - - - -github.com/go-i2p/go-i2p/lib/router.CreateRouter->github.com/go-i2p/go-i2p/lib/keys.NewRouterInfoKeystore - - - + + + - + (*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).StoreKeys - - -StoreKeys + + +keys +StoreKeys - + github.com/go-i2p/go-i2p/lib/router.CreateRouter->(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).StoreKeys - - - + + + - + (*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).GetKeys - - -GetKeys + + +keys +GetKeys - + github.com/go-i2p/go-i2p/lib/router.CreateRouter->(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).GetKeys - - - + + + - + (*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo - - -ConstructRouterInfo + + +keys +ConstructRouterInfo - + github.com/go-i2p/go-i2p/lib/router.CreateRouter->(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo - - - - - - - - -github.com/go-i2p/go-i2p/lib/transport.Mux - - -Mux - - - - - -github.com/go-i2p/go-i2p/lib/router.CreateRouter->github.com/go-i2p/go-i2p/lib/transport.Mux - - - - - - - - -github.com/go-i2p/go-i2p/lib/transport/ntcp.NewNTCP2Transport - - -NewNTCP2Transport - - - - - -github.com/go-i2p/go-i2p/lib/router.CreateRouter->github.com/go-i2p/go-i2p/lib/transport/ntcp.NewNTCP2Transport - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Address - - -Address + + +ntcp +Address - + github.com/go-i2p/go-i2p/lib/router.CreateRouter->(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Address - - - - - - - - -(*github.com/go-i2p/logger.Logger).Error - - -Error - - - - - -github.com/go-i2p/go-i2p/lib/router.CreateRouter->(*github.com/go-i2p/logger.Logger).Error - - - + + + - + (*github.com/go-i2p/logger.Logger).WithError - - -WithError + + +logger +WithError - + github.com/go-i2p/go-i2p/lib/router.CreateRouter->(*github.com/go-i2p/logger.Logger).WithError - - - + + + + + + + + +(*github.com/go-i2p/logger.Logger).Error + + +logger +Error + + + + + +github.com/go-i2p/go-i2p/lib/router.CreateRouter->(*github.com/go-i2p/logger.Logger).Error + + + @@ -363,217 +310,270 @@ (*github.com/sirupsen/logrus.Logger).Debug - -Debug + +logrus +Debug - + github.com/go-i2p/go-i2p/lib/router.CreateRouter->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - + (*github.com/go-i2p/logger.Logger).WithField - - -WithField + + +logger +WithField - + github.com/go-i2p/go-i2p/lib/router.FromConfig->(*github.com/go-i2p/logger.Logger).WithField - - - + + + - + github.com/go-i2p/go-i2p/lib/router.FromConfig->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - + github.com/go-i2p/go-i2p/lib/router.init - - -init + + +init - + github.com/go-i2p/logger.GetGoI2PLogger - - -GetGoI2PLogger + + +logger +GetGoI2PLogger - -github.com/go-i2p/go-i2p/lib/router.init->github.com/go-i2p/logger.GetGoI2PLogger - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/router.Router).Start - - -Start - - - - - -(*github.com/go-i2p/go-i2p/lib/router.Router).mainloop - - -mainloop - - - - -(*github.com/go-i2p/go-i2p/lib/router.Router).Start->(*github.com/go-i2p/go-i2p/lib/router.Router).mainloop - - - - - - - - - - -(*github.com/go-i2p/logger.Logger).WithFields - - -WithFields - - - - - -(*github.com/go-i2p/go-i2p/lib/router.Router).Start->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/router.Router).Start->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/router.Router).Start->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/router.Router).Stop - - -Stop - - - - - -(*github.com/go-i2p/go-i2p/lib/router.Router).mainloop->(*github.com/go-i2p/go-i2p/lib/router.Router).Stop - - - +github.com/go-i2p/go-i2p/lib/router.init->github.com/go-i2p/logger.GetGoI2PLogger + + + - + github.com/go-i2p/go-i2p/lib/netdb.NewStdNetDB - - -NewStdNetDB - - - - - -(*github.com/go-i2p/go-i2p/lib/router.Router).mainloop->github.com/go-i2p/go-i2p/lib/netdb.NewStdNetDB - - - + + +netdb +NewStdNetDB - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Ensure - - -Ensure - - - - - -(*github.com/go-i2p/go-i2p/lib/router.Router).mainloop->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Ensure - - - + + +netdb +Ensure - + (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size - - -Size + + +netdb +Size + + + + + +(*github.com/go-i2p/go-i2p/lib/router.Router).Stop + + +Stop + + + + + +(*github.com/go-i2p/go-i2p/lib/router.Router).Stop->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/router.Router).Close + + +Close + + + + + +(*github.com/go-i2p/logger.Logger).Warn + + +logger +Warn + + + + + +(*github.com/go-i2p/go-i2p/lib/router.Router).Close->(*github.com/go-i2p/logger.Logger).Warn + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/router.Router).Start + + +Start + + + + + +(*github.com/go-i2p/go-i2p/lib/router.Router).mainloop + + +mainloop + + + + + +(*github.com/go-i2p/go-i2p/lib/router.Router).Start->(*github.com/go-i2p/go-i2p/lib/router.Router).mainloop + + + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/router.Router).Start->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(*github.com/go-i2p/logger.Logger).WithFields + + +logger +WithFields + + + + + +(*github.com/go-i2p/go-i2p/lib/router.Router).Start->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/router.Router).Start->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/router.Router).mainloop->github.com/go-i2p/go-i2p/lib/netdb.NewStdNetDB + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/router.Router).mainloop->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Ensure + + + - + (*github.com/go-i2p/go-i2p/lib/router.Router).mainloop->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size - - - + + + - - -(*github.com/go-i2p/go-i2p/lib/router.Router).mainloop->(*github.com/go-i2p/logger.Logger).WithFields - - - + + +(*github.com/go-i2p/go-i2p/lib/router.Router).mainloop->(*github.com/go-i2p/go-i2p/lib/router.Router).Stop + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/router.Router).mainloop->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/router.Router).mainloop->(*github.com/go-i2p/logger.Logger).WithError + + + @@ -581,98 +581,53 @@ (*github.com/go-i2p/go-i2p/lib/router.Router).mainloop->(*github.com/go-i2p/logger.Logger).Error - - - - - - - -(*github.com/go-i2p/go-i2p/lib/router.Router).mainloop->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/router.Router).mainloop->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(*github.com/go-i2p/logger.Logger).Warn - - -Warn + + - + (*github.com/go-i2p/go-i2p/lib/router.Router).mainloop->(*github.com/go-i2p/logger.Logger).Warn - - - + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/router.Router).mainloop->(*github.com/go-i2p/logger.Logger).WithFields + + + - + (*github.com/go-i2p/go-i2p/lib/router.Router).mainloop->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/router.Router).Stop->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/router.Router).Close - - -Close - - - - - -(*github.com/go-i2p/go-i2p/lib/router.Router).Close->(*github.com/go-i2p/logger.Logger).Warn - - - + + + - + (*github.com/go-i2p/go-i2p/lib/router.Router).Wait - - -Wait + + +Wait - + (*github.com/go-i2p/go-i2p/lib/router.Router).Wait->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + diff --git a/lib/su3/doc.md b/lib/su3/README.md similarity index 50% rename from lib/su3/doc.md rename to lib/su3/README.md index 016bdcb..efaa9e7 100644 --- a/lib/su3/doc.md +++ b/lib/su3/README.md @@ -2,264 +2,74 @@ -- import "github.com/go-i2p/go-i2p/lib/su3" -Package su3 implements reading the SU3 file format. - -SU3 files provide content that is signed by a known identity. They are used to -distribute many types of data, including reseed files, plugins, blocklists, and -more. - -See: https://geti2p.net/spec/updates#su3-file-specification - -The Read() function takes an io.Reader, and it returns a *SU3. The *SU3 contains -the SU3 file metadata, such as the type of the content and the signer ID. In -order to get the file contents, one must pass in the public key associated with -the file's signer, so that the signature can be validated. The content can still -be read without passing in the key, but after returning the full content the -error ErrInvalidSignature will be returned. - -Example usage: - - // Let's say we are reading an SU3 file from an HTTP body, which is an io.Reader. - su3File, err := su3.Read(body) - if err != nil { - // Handle error. - } - // Look up this signer's key. - key := somehow_lookup_the_key(su3File.SignerID) - // Read the content. - contentReader := su3File.Content(key) - bytes, err := ioutil.ReadAll(contentReader) - if errors.Is(err, su3.ErrInvalidSignature) { - // The signature is invalid, OR a nil key was provided. - } else if err != nil { - // Handle error. - } - -If you want to parse from a []byte, you can wrap it like this: - - mySU3FileBytes := []byte{0x00, 0x01, 0x02, 0x03} - su3File, err := su3.Read(bytes.NewReader(mySU3FileBytes)) - -One of the advantages of this library's design is that you can avoid buffering -the file contents in memory. Here's how you would stream from an HTTP body -directly to disk: - - su3File, err := su3.Read(body) - if err != nil { - // Handle error. - } - // Look up this signer's key. - key := somehow_lookup_the_key(su3File.SignerID) - // Stream directly to disk. - f, err := os.Create("my_file.txt") - if err != nil { - // Handle error. - } - _, err := io.Copy(f, su3File.Content(key)) - if errors.Is(err, su3.ErrInvalidSignature) { - // The signature is invalid, OR a nil key was provided. - // Don't trust the file, delete it! - } else if err != nil { - // Handle error. - } - -Note: if you want to read the content, the Content() io.Reader must be read -*before* the Signature() io.Reader. If you read the signature first, the content -bytes will be thrown away. If you then attempt to read the content, you will get -an error. For clarification, see TestReadSignatureFirst. - -## Usage - -```go -var ( - ErrMissingMagicBytes = oops.Errorf("missing magic bytes") - ErrMissingUnusedByte6 = oops.Errorf("missing unused byte 6") - ErrMissingFileFormatVersion = oops.Errorf("missing or incorrect file format version") - ErrMissingSignatureType = oops.Errorf("missing or invalid signature type") - ErrUnsupportedSignatureType = oops.Errorf("unsupported signature type") - ErrMissingSignatureLength = oops.Errorf("missing signature length") - ErrMissingUnusedByte12 = oops.Errorf("missing unused byte 12") - ErrMissingVersionLength = oops.Errorf("missing version length") - ErrVersionTooShort = oops.Errorf("version length too short") - ErrMissingUnusedByte14 = oops.Errorf("missing unused byte 14") - ErrMissingSignerIDLength = oops.Errorf("missing signer ID length") - ErrMissingContentLength = oops.Errorf("missing content length") - ErrMissingUnusedByte24 = oops.Errorf("missing unused byte 24") - ErrMissingFileType = oops.Errorf("missing or invalid file type") - ErrMissingUnusedByte26 = oops.Errorf("missing unused byte 26") - ErrMissingContentType = oops.Errorf("missing or invalid content type") - ErrMissingUnusedBytes28To39 = oops.Errorf("missing unused bytes 28-39") - ErrMissingVersion = oops.Errorf("missing version") - ErrMissingSignerID = oops.Errorf("missing signer ID") - ErrMissingContent = oops.Errorf("missing content") - ErrMissingSignature = oops.Errorf("missing signature") - ErrInvalidPublicKey = oops.Errorf("invalid public key") - ErrInvalidSignature = oops.Errorf("invalid signature") -) -``` - -#### type ContentType - -```go -type ContentType string -``` - - -```go -const ( - UNKNOWN ContentType = "unknown" - ROUTER_UPDATE ContentType = "router_update" - PLUGIN ContentType = "plugin" - RESEED ContentType = "reseed" - NEWS ContentType = "news" - BLOCKLIST ContentType = "blocklist" -) -``` - -#### type FileType - -```go -type FileType string -``` - - -```go -const ( - ZIP FileType = "zip" - XML FileType = "xml" - HTML FileType = "html" - XML_GZIP FileType = "xml.gz" - TXT_GZIP FileType = "txt.gz" - DMG FileType = "dmg" - EXE FileType = "exe" -) -``` - -#### type SU3 - -```go -type SU3 struct { - SignatureType SignatureType - SignatureLength uint16 - ContentLength uint64 - FileType FileType - ContentType ContentType - Version string - SignerID string -} -``` - - -#### func Read - -```go -func Read(reader io.Reader) (su3 *SU3, err error) -``` - -#### func (*SU3) Content - -```go -func (su3 *SU3) Content(publicKey interface{}) io.Reader -``` - -#### func (*SU3) Signature - -```go -func (su3 *SU3) Signature() io.Reader -``` - -#### type SignatureType - -```go -type SignatureType string -``` - - -```go -const ( - DSA_SHA1 SignatureType = "DSA-SHA1" - ECDSA_SHA256_P256 SignatureType = "ECDSA-SHA256-P256" - ECDSA_SHA384_P384 SignatureType = "ECDSA-SHA384-P384" - ECDSA_SHA512_P521 SignatureType = "ECDSA-SHA512-P521" - RSA_SHA256_2048 SignatureType = "RSA-SHA256-2048" - RSA_SHA384_3072 SignatureType = "RSA-SHA384-3072" - RSA_SHA512_4096 SignatureType = "RSA-SHA512-4096" - EdDSA_SHA512_Ed25519ph SignatureType = "EdDSA-SHA512-Ed25519ph" -) -``` - -# su3 --- - import "github.com/go-i2p/go-i2p/lib/su3" - -Package su3 implements reading the SU3 file format. - -SU3 files provide content that is signed by a known identity. They are used to -distribute many types of data, including reseed files, plugins, blocklists, and -more. - -See: https://geti2p.net/spec/updates#su3-file-specification - -The Read() function takes an io.Reader, and it returns a *SU3. The *SU3 contains -the SU3 file metadata, such as the type of the content and the signer ID. In -order to get the file contents, one must pass in the public key associated with -the file's signer, so that the signature can be validated. The content can still -be read without passing in the key, but after returning the full content the -error ErrInvalidSignature will be returned. - -Example usage: - - // Let's say we are reading an SU3 file from an HTTP body, which is an io.Reader. - su3File, err := su3.Read(body) - if err != nil { - // Handle error. - } - // Look up this signer's key. - key := somehow_lookup_the_key(su3File.SignerID) - // Read the content. - contentReader := su3File.Content(key) - bytes, err := ioutil.ReadAll(contentReader) - if errors.Is(err, su3.ErrInvalidSignature) { - // The signature is invalid, OR a nil key was provided. - } else if err != nil { - // Handle error. - } - -If you want to parse from a []byte, you can wrap it like this: - - mySU3FileBytes := []byte{0x00, 0x01, 0x02, 0x03} - su3File, err := su3.Read(bytes.NewReader(mySU3FileBytes)) - -One of the advantages of this library's design is that you can avoid buffering -the file contents in memory. Here's how you would stream from an HTTP body -directly to disk: - - su3File, err := su3.Read(body) - if err != nil { - // Handle error. - } - // Look up this signer's key. - key := somehow_lookup_the_key(su3File.SignerID) - // Stream directly to disk. - f, err := os.Create("my_file.txt") - if err != nil { - // Handle error. - } - _, err := io.Copy(f, su3File.Content(key)) - if errors.Is(err, su3.ErrInvalidSignature) { - // The signature is invalid, OR a nil key was provided. - // Don't trust the file, delete it! - } else if err != nil { - // Handle error. - } - -Note: if you want to read the content, the Content() io.Reader must be read -*before* the Signature() io.Reader. If you read the signature first, the content -bytes will be thrown away. If you then attempt to read the content, you will get -an error. For clarification, see TestReadSignatureFirst. - ![su3.svg](su3) +Package su3 implements reading the SU3 file format. + +SU3 files provide content that is signed by a known identity. They are used to +distribute many types of data, including reseed files, plugins, blocklists, and +more. + +See: https://geti2p.net/spec/updates#su3-file-specification + +The Read() function takes an io.Reader, and it returns a *SU3. The *SU3 contains +the SU3 file metadata, such as the type of the content and the signer ID. In +order to get the file contents, one must pass in the public key associated with +the file's signer, so that the signature can be validated. The content can still +be read without passing in the key, but after returning the full content the +error ErrInvalidSignature will be returned. + +Example usage: + + // Let's say we are reading an SU3 file from an HTTP body, which is an io.Reader. + su3File, err := su3.Read(body) + if err != nil { + // Handle error. + } + // Look up this signer's key. + key := somehow_lookup_the_key(su3File.SignerID) + // Read the content. + contentReader := su3File.Content(key) + bytes, err := ioutil.ReadAll(contentReader) + if errors.Is(err, su3.ErrInvalidSignature) { + // The signature is invalid, OR a nil key was provided. + } else if err != nil { + // Handle error. + } + +If you want to parse from a []byte, you can wrap it like this: + + mySU3FileBytes := []byte{0x00, 0x01, 0x02, 0x03} + su3File, err := su3.Read(bytes.NewReader(mySU3FileBytes)) + +One of the advantages of this library's design is that you can avoid buffering +the file contents in memory. Here's how you would stream from an HTTP body +directly to disk: + + su3File, err := su3.Read(body) + if err != nil { + // Handle error. + } + // Look up this signer's key. + key := somehow_lookup_the_key(su3File.SignerID) + // Stream directly to disk. + f, err := os.Create("my_file.txt") + if err != nil { + // Handle error. + } + _, err := io.Copy(f, su3File.Content(key)) + if errors.Is(err, su3.ErrInvalidSignature) { + // The signature is invalid, OR a nil key was provided. + // Don't trust the file, delete it! + } else if err != nil { + // Handle error. + } + +Note: if you want to read the content, the Content() io.Reader must be read +*before* the Signature() io.Reader. If you read the signature first, the content +bytes will be thrown away. If you then attempt to read the content, you will get +an error. For clarification, see TestReadSignatureFirst. + ## Usage ```go diff --git a/lib/su3/su3.svg b/lib/su3/su3.svg index ce8dbe6..3cb4337 100644 --- a/lib/su3/su3.svg +++ b/lib/su3/su3.svg @@ -4,94 +4,89 @@ - - + + gocallvis - + cluster_focus - -su3 + +su3 - -cluster_github.com/sirupsen/logrus - - -logrus - - - - + cluster_*github.com/sirupsen/logrus.Logger - - -(*Logger) - - - - -cluster_github.com/samber/oops - - -oops + + +(*Logger) -cluster_github.com/go-i2p/logger - - -logger - - - - cluster_*github.com/go-i2p/logger.Logger - - -(*Logger) + + +(*Logger) cluster_*github.com/go-i2p/go-i2p/lib/su3.signatureReader - -(*signatureReader) + +(*signatureReader) cluster_*github.com/go-i2p/go-i2p/lib/su3.fixedLengthReader - -(*fixedLengthReader) + +(*fixedLengthReader) cluster_*github.com/go-i2p/go-i2p/lib/su3.contentReader - -(*contentReader) + +(*contentReader) cluster_*github.com/go-i2p/go-i2p/lib/su3.SU3 - -(*SU3) + +(*SU3) github.com/go-i2p/go-i2p/lib/su3.Read - - -Read + + +Read + + + + + +github.com/samber/oops.Errorf + + +oops +Errorf + + + + + +github.com/go-i2p/go-i2p/lib/su3.Read->github.com/samber/oops.Errorf + + + @@ -99,17 +94,18 @@ (*github.com/go-i2p/logger.Logger).WithError - -WithError + +logger +WithError - + github.com/go-i2p/go-i2p/lib/su3.Read->(*github.com/go-i2p/logger.Logger).WithError - - - + + + @@ -117,8 +113,9 @@ (*github.com/go-i2p/logger.Logger).Error - -Error + +logger +Error @@ -126,8 +123,8 @@ github.com/go-i2p/go-i2p/lib/su3.Read->(*github.com/go-i2p/logger.Logger).Error - - + + @@ -135,17 +132,18 @@ (*github.com/go-i2p/logger.Logger).WithField - -WithField + +logger +WithField - + github.com/go-i2p/go-i2p/lib/su3.Read->(*github.com/go-i2p/logger.Logger).WithField - - - + + + @@ -153,8 +151,9 @@ (*github.com/go-i2p/logger.Logger).WithFields - -WithFields + +logger +WithFields @@ -162,26 +161,8 @@ github.com/go-i2p/go-i2p/lib/su3.Read->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - -github.com/samber/oops.Errorf - - -Errorf - - - - - -github.com/go-i2p/go-i2p/lib/su3.Read->github.com/samber/oops.Errorf - - - + + @@ -189,323 +170,326 @@ (*github.com/sirupsen/logrus.Logger).Debug - -Debug + +logrus +Debug - + github.com/go-i2p/go-i2p/lib/su3.Read->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - + github.com/go-i2p/go-i2p/lib/su3.init - - -init - - - - - -github.com/go-i2p/logger.GetGoI2PLogger - - -GetGoI2PLogger - - - - - -github.com/go-i2p/go-i2p/lib/su3.init->github.com/go-i2p/logger.GetGoI2PLogger - - - + + +init - + github.com/go-i2p/go-i2p/lib/su3.init->github.com/samber/oops.Errorf - - - + + + - - -(*github.com/go-i2p/go-i2p/lib/su3.SU3).Signature - - -Signature + + +github.com/go-i2p/logger.GetGoI2PLogger + + +logger +GetGoI2PLogger - - -(*github.com/go-i2p/go-i2p/lib/su3.SU3).Signature->(*github.com/sirupsen/logrus.Logger).Debug - - - + + +github.com/go-i2p/go-i2p/lib/su3.init->github.com/go-i2p/logger.GetGoI2PLogger + + + - + (*github.com/go-i2p/go-i2p/lib/su3.SU3).Content - - -Content + + +Content - + (*github.com/go-i2p/go-i2p/lib/su3.SU3).Content->(*github.com/go-i2p/logger.Logger).WithField - - - + + + - + (*github.com/go-i2p/go-i2p/lib/su3.SU3).Content->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/su3.SU3).Signature + + +Signature + + + + + +(*github.com/go-i2p/go-i2p/lib/su3.SU3).Signature->(*github.com/sirupsen/logrus.Logger).Debug + + + - -(*github.com/go-i2p/go-i2p/lib/su3.contentReader).Read - - -Read - - - - - -(*github.com/go-i2p/go-i2p/lib/su3.fixedLengthReader).Read - - -Read - - - - - -(*github.com/go-i2p/go-i2p/lib/su3.contentReader).Read->(*github.com/go-i2p/go-i2p/lib/su3.fixedLengthReader).Read - - - - - - - -(*github.com/go-i2p/go-i2p/lib/su3.signatureReader).getBytes - - -getBytes - - - - - -(*github.com/go-i2p/go-i2p/lib/su3.contentReader).Read->(*github.com/go-i2p/go-i2p/lib/su3.signatureReader).getBytes - - - - - - - - -(*github.com/go-i2p/logger.Logger).Warn - - -Warn - - - - - -(*github.com/go-i2p/go-i2p/lib/su3.contentReader).Read->(*github.com/go-i2p/logger.Logger).Warn - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/su3.contentReader).Read->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/su3.contentReader).Read->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/su3.contentReader).Read->(*github.com/go-i2p/logger.Logger).WithField - - - +(*github.com/go-i2p/go-i2p/lib/su3.contentReader).Read + + +Read - + (*github.com/go-i2p/go-i2p/lib/su3.contentReader).Read->github.com/samber/oops.Errorf - - - + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/su3.fixedLengthReader).Read + + +Read + + + + + +(*github.com/go-i2p/go-i2p/lib/su3.contentReader).Read->(*github.com/go-i2p/go-i2p/lib/su3.fixedLengthReader).Read + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/su3.signatureReader).getBytes + + +getBytes + + + + + +(*github.com/go-i2p/go-i2p/lib/su3.contentReader).Read->(*github.com/go-i2p/go-i2p/lib/su3.signatureReader).getBytes + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/su3.contentReader).Read->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/su3.contentReader).Read->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/su3.contentReader).Read->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(*github.com/go-i2p/logger.Logger).Warn + + +logger +Warn + + + + + +(*github.com/go-i2p/go-i2p/lib/su3.contentReader).Read->(*github.com/go-i2p/logger.Logger).Warn + + + - + (*github.com/go-i2p/go-i2p/lib/su3.contentReader).Read->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - + (*github.com/go-i2p/go-i2p/lib/su3.fixedLengthReader).Read->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + (*github.com/go-i2p/go-i2p/lib/su3.fixedLengthReader).Read->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/su3.signatureReader).getBytes->(*github.com/go-i2p/logger.Logger).Warn - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/su3.signatureReader).getBytes->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/su3.signatureReader).getBytes->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/su3.signatureReader).getBytes->(*github.com/go-i2p/logger.Logger).WithField - - - + + + - + (*github.com/go-i2p/go-i2p/lib/su3.signatureReader).getBytes->github.com/samber/oops.Errorf - - - + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/su3.signatureReader).getBytes->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/su3.signatureReader).getBytes->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/su3.signatureReader).getBytes->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/su3.signatureReader).getBytes->(*github.com/go-i2p/logger.Logger).Warn + + + - + (*github.com/go-i2p/go-i2p/lib/su3.signatureReader).getBytes->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - + (*github.com/go-i2p/go-i2p/lib/su3.signatureReader).Read - - -Read + + +Read - + (*github.com/go-i2p/go-i2p/lib/su3.signatureReader).Read->(*github.com/go-i2p/go-i2p/lib/su3.signatureReader).getBytes - - - + + + - + (*github.com/go-i2p/go-i2p/lib/su3.signatureReader).Read->(*github.com/go-i2p/logger.Logger).WithError - - - + + + - + (*github.com/go-i2p/go-i2p/lib/su3.signatureReader).Read->(*github.com/go-i2p/logger.Logger).Error - - - + + + - + (*github.com/go-i2p/go-i2p/lib/su3.signatureReader).Read->(*github.com/go-i2p/logger.Logger).WithField - - - + + + @@ -513,8 +497,8 @@ (*github.com/go-i2p/go-i2p/lib/su3.signatureReader).Read->(*github.com/sirupsen/logrus.Logger).Debug - - + + diff --git a/lib/transport/doc.md b/lib/transport/README.md similarity index 50% rename from lib/transport/doc.md rename to lib/transport/README.md index 2eee2d5..c586dcb 100644 --- a/lib/transport/doc.md +++ b/lib/transport/README.md @@ -2,135 +2,12 @@ -- import "github.com/go-i2p/go-i2p/lib/transport" -* - - i2np messages transports - -## Usage - -```go -var ErrNoTransportAvailable = oops.Errorf("no transports available") -``` -error for when we have no transports available to use - -#### type Transport - -```go -type Transport interface { - // Accept accepts an incoming session. - Accept() (net.Conn, error) - - // Addr returns an - Addr() net.Addr - - // Set the router identity for this transport. - // will bind if the underlying socket is not already - // if the underlying socket is already bound update the RouterIdentity - // returns any errors that happen if they do - SetIdentity(ident router_info.RouterInfo) error - - // Obtain a transport session with a router given its RouterInfo. - // If a session with this router is NOT already made attempt to create one and block until made or until an error happens - // returns an established TransportSession and nil on success - // returns nil and an error on error - GetSession(routerInfo router_info.RouterInfo) (TransportSession, error) - - // return true if a routerInfo is compatible with this transport - Compatible(routerInfo router_info.RouterInfo) bool - - // close the transport cleanly - // blocks until done - // returns an error if one happens - Close() error - - // get the name of this tranport as a string - Name() string -} -``` - - -#### type TransportMuxer - -```go -type TransportMuxer struct { -} -``` - -muxes multiple transports into 1 Transport implements transport.Transport - -#### func Mux - -```go -func Mux(t ...Transport) (tmux *TransportMuxer) -``` -mux a bunch of transports together - -#### func (*TransportMuxer) Close - -```go -func (tmux *TransportMuxer) Close() (err error) -``` -close every transport that this transport muxer has - -#### func (*TransportMuxer) Compatible - -```go -func (tmux *TransportMuxer) Compatible(routerInfo router_info.RouterInfo) (compat bool) -``` -is there a transport that we mux that is compatable with this router info? - -#### func (*TransportMuxer) GetSession - -```go -func (tmux *TransportMuxer) GetSession(routerInfo router_info.RouterInfo) (s TransportSession, err error) -``` -get a transport session given a router info return session and nil if successful -return nil and ErrNoTransportAvailable if we failed to get a session - -#### func (*TransportMuxer) Name - -```go -func (tmux *TransportMuxer) Name() string -``` -the name of this transport with the names of all the ones that we mux - -#### func (*TransportMuxer) SetIdentity - -```go -func (tmux *TransportMuxer) SetIdentity(ident router_info.RouterInfo) (err error) -``` -set the identity for every transport - -#### type TransportSession - -```go -type TransportSession interface { - // queue an i2np message to be sent over the session - // will block as long as the send queue is full - // does not block if the queue is not full - QueueSendI2NP(msg i2np.I2NPMessage) - // return how many i2np messages are not completely sent yet - SendQueueSize() int - // blocking read the next fully recv'd i2np message from this session - ReadNextI2NP() (i2np.I2NPMessage, error) - // close the session cleanly - // returns any errors that happen while closing the session - Close() error -} -``` - -a session between 2 routers for tranmitting i2np messages securly - -# transport --- - import "github.com/go-i2p/go-i2p/lib/transport" - -* - - i2np messages transports - ![transport.svg](transport) +* + + i2np messages transports + ## Usage ```go diff --git a/lib/transport/messages/doc.md b/lib/transport/messages/README.md similarity index 51% rename from lib/transport/messages/doc.md rename to lib/transport/messages/README.md index 8e661c5..ab03f3d 100644 --- a/lib/transport/messages/doc.md +++ b/lib/transport/messages/README.md @@ -2,79 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/transport/messages" - -## Usage - -```go -const ( - MessageTypeSessionRequest = 0x00 - MessageTypeSessionCreated = 0x01 - MessageTypeSessionConfirmed = 0x02 - MessageTypeData = 0x03 -) -``` - -#### type Message - -```go -type Message interface { - // Type returns the message type - Type() MessageType - // Payload returns the message payload - Payload() []byte - // PayloadSize returns the message payload size - PayloadSize() int -} -``` - - -#### type MessageType - -```go -type MessageType uint8 -``` - - -#### type SessionRequest - -```go -type SessionRequest struct { - XContent []byte // 32-byte X value - - Padding []byte // padding of message 1 -} -``` - - -#### func (*SessionRequest) Payload - -```go -func (sr *SessionRequest) Payload() []byte -``` -Payload returns the message payload - -#### func (*SessionRequest) PayloadSize - -```go -func (sr *SessionRequest) PayloadSize() int -``` -PayloadSize returns the message payload size - -#### func (*SessionRequest) Type - -```go -func (sr *SessionRequest) Type() MessageType -``` -Type returns the message type - -# ntcp --- - import "github.com/go-i2p/go-i2p/lib/transport/messages" - - - ![ntcp.svg](ntcp) + + ## Usage ```go diff --git a/lib/transport/noise/doc.md b/lib/transport/noise/README.md similarity index 50% rename from lib/transport/noise/doc.md rename to lib/transport/noise/README.md index 3745a1a..5a2bf6b 100644 --- a/lib/transport/noise/doc.md +++ b/lib/transport/noise/README.md @@ -2,329 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/transport/noise" - -## Usage - -```go -const ( - NOISE_DH_CURVE25519 = 1 - - NOISE_CIPHER_CHACHAPOLY = 1 - NOISE_CIPHER_AESGCM = 2 - - NOISE_HASH_SHA256 = 3 - - NOISE_PATTERN_XK = 11 - - MaxPayloadSize = 65537 -) -``` - -```go -const NOISE_PROTOCOL_NAME = "NOISE" -``` - -```go -var ExampleNoiseListener net.Listener = exampleNoiseTransport -``` -ExampleNoiseListener is not a real Noise Listener, do not use it. It is exported -so that it can be confirmed that the transport implements net.Listener - -```go -var ( - ExampleNoiseSession net.Conn = exampleNoiseSession.(*NoiseSession) -) -``` - -#### func NewNoiseTransportSession - -```go -func NewNoiseTransportSession(ri router_info.RouterInfo) (transport.TransportSession, error) -``` - -#### type HandshakeState - -```go -type HandshakeState struct { - *noise.HandshakeState -} -``` - - -#### func NewHandshakeState - -```go -func NewHandshakeState(staticKey noise.DHKey, isInitiator bool) (*HandshakeState, error) -``` - -#### func (*HandshakeState) GenerateEphemeral - -```go -func (h *HandshakeState) GenerateEphemeral() (*noise.DHKey, error) -``` -GenerateEphemeral creates the ephemeral keypair that will be used in handshake -This needs to be separate so NTCP2 can obfuscate it - -#### func (*HandshakeState) ReadMessage - -```go -func (h *HandshakeState) ReadMessage(message []byte) ([]byte, *noise.CipherState, *noise.CipherState, error) -``` - -#### func (*HandshakeState) SetEphemeral - -```go -func (h *HandshakeState) SetEphemeral(key *noise.DHKey) error -``` -SetEphemeral allows setting a potentially modified ephemeral key This is needed -for NTCP2's obfuscation layer - -#### func (*HandshakeState) WriteMessage - -```go -func (h *HandshakeState) WriteMessage(payload []byte) ([]byte, *noise.CipherState, *noise.CipherState, error) -``` - -#### type NoiseSession - -```go -type NoiseSession struct { - router_info.RouterInfo - *noise.CipherState - *sync.Cond - *NoiseTransport // The parent transport, which "Dialed" the connection to the peer with whom we established the session - *HandshakeState - RecvQueue *cb.Queue - SendQueue *cb.Queue - VerifyCallback VerifyCallbackFunc - - Conn net.Conn -} -``` - - -#### func NewNoiseSession - -```go -func NewNoiseSession(ri router_info.RouterInfo) (*NoiseSession, error) -``` - -#### func (*NoiseSession) Close - -```go -func (s *NoiseSession) Close() error -``` - -#### func (*NoiseSession) ComposeInitiatorHandshakeMessage - -```go -func (c *NoiseSession) ComposeInitiatorHandshakeMessage( - payload []byte, - ephemeralPrivate []byte, -) ( - negotiationData, - handshakeMessage []byte, - handshakeState *noise.HandshakeState, - err error, -) -``` - -#### func (*NoiseSession) ComposeReceiverHandshakeMessage - -```go -func (c *NoiseSession) ComposeReceiverHandshakeMessage(localStatic noise.DHKey, remoteStatic []byte, payload []byte, ephemeralPrivate []byte) (negData, msg []byte, state *noise.HandshakeState, err error) -``` - -#### func (*NoiseSession) LocalAddr - -```go -func (s *NoiseSession) LocalAddr() net.Addr -``` - -#### func (*NoiseSession) QueueSendI2NP - -```go -func (s *NoiseSession) QueueSendI2NP(msg i2np.I2NPMessage) -``` - -#### func (*NoiseSession) Read - -```go -func (c *NoiseSession) Read(b []byte) (int, error) -``` - -#### func (*NoiseSession) ReadNextI2NP - -```go -func (s *NoiseSession) ReadNextI2NP() (i2np.I2NPMessage, error) -``` - -#### func (*NoiseSession) RemoteAddr - -```go -func (noise_session *NoiseSession) RemoteAddr() net.Addr -``` -RemoteAddr implements net.Conn - -#### func (*NoiseSession) RunIncomingHandshake - -```go -func (c *NoiseSession) RunIncomingHandshake() error -``` - -#### func (*NoiseSession) RunOutgoingHandshake - -```go -func (c *NoiseSession) RunOutgoingHandshake() error -``` - -#### func (*NoiseSession) SendQueueSize - -```go -func (s *NoiseSession) SendQueueSize() int -``` - -#### func (*NoiseSession) SetDeadline - -```go -func (noise_session *NoiseSession) SetDeadline(t time.Time) error -``` -SetDeadline implements net.Conn - -#### func (*NoiseSession) SetReadDeadline - -```go -func (noise_session *NoiseSession) SetReadDeadline(t time.Time) error -``` -SetReadDeadline implements net.Conn - -#### func (*NoiseSession) SetWriteDeadline - -```go -func (noise_session *NoiseSession) SetWriteDeadline(t time.Time) error -``` -SetWriteDeadline implements net.Conn - -#### func (*NoiseSession) Write - -```go -func (c *NoiseSession) Write(b []byte) (int, error) -``` - -#### type NoiseTransport - -```go -type NoiseTransport struct { - sync.Mutex - router_info.RouterInfo - - Listener net.Listener -} -``` - - -#### func NewNoiseTransport - -```go -func NewNoiseTransport(netSocket net.Listener) *NoiseTransport -``` -NewNoiseTransport create a NoiseTransport using a supplied net.Listener - -#### func NewNoiseTransportSocket - -```go -func NewNoiseTransportSocket() (*NoiseTransport, error) -``` -NewNoiseTransportSocket creates a Noise transport socket with a random host and -port. - -#### func (*NoiseTransport) Accept - -```go -func (noopt *NoiseTransport) Accept() (net.Conn, error) -``` -Accept a connection on a listening socket. - -#### func (*NoiseTransport) Addr - -```go -func (noopt *NoiseTransport) Addr() net.Addr -``` -Addr of the transport, for now this is returning the IP:Port the transport is -listening on, but this might actually be the router identity - -#### func (*NoiseTransport) Close - -```go -func (noopt *NoiseTransport) Close() error -``` -close the transport cleanly blocks until done returns an error if one happens - -#### func (*NoiseTransport) Compatable - -```go -func (noopt *NoiseTransport) Compatable(routerInfo router_info.RouterInfo) bool -``` -Compatable return true if a routerInfo is compatable with this transport - -#### func (*NoiseTransport) Compatible - -```go -func (noopt *NoiseTransport) Compatible(routerInfo router_info.RouterInfo) bool -``` - -#### func (*NoiseTransport) GetSession - -```go -func (noopt *NoiseTransport) GetSession(routerInfo router_info.RouterInfo) (transport.TransportSession, error) -``` -Obtain a transport session with a router given its RouterInfo. If a session with -this router is NOT already made attempt to create one and block until made or -until an error happens returns an established TransportSession and nil on -success returns nil and an error on error - -#### func (*NoiseTransport) Handshake - -```go -func (c *NoiseTransport) Handshake(routerInfo router_info.RouterInfo) error -``` - -#### func (*NoiseTransport) HandshakeKey - -```go -func (h *NoiseTransport) HandshakeKey() *noise.DHKey -``` - -#### func (*NoiseTransport) Name - -```go -func (noopt *NoiseTransport) Name() string -``` -Name of the transport TYPE, in this case `noise` - -#### func (*NoiseTransport) SetIdentity - -```go -func (noopt *NoiseTransport) SetIdentity(ident router_info.RouterInfo) (err error) -``` -SetIdentity will set the router identity for this transport. will bind if the -underlying socket is not already if the underlying socket is already bound -update the RouterIdentity returns any errors that happen if they do - -#### type VerifyCallbackFunc - -```go -type VerifyCallbackFunc func(publicKey []byte, data []byte) error -``` - -# noise --- - import "github.com/go-i2p/go-i2p/lib/transport/noise" - - - ![noise.svg](noise) + + ## Usage ```go diff --git a/lib/transport/noise/noise.svg b/lib/transport/noise/noise.svg index 23a588b..f455ef4 100644 --- a/lib/transport/noise/noise.svg +++ b/lib/transport/noise/noise.svg @@ -4,398 +4,148 @@ - - + + gocallvis - + cluster_focus - -noise + +noise - -cluster_github.com/sirupsen/logrus - - -logrus - - - - -cluster_*github.com/sirupsen/logrus.Logger - - -(*Logger) - - - - -cluster_github.com/samber/oops - - -oops - - - - -cluster_github.com/go-i2p/logger - - -logger - - - - -cluster_*github.com/go-i2p/logger.Logger - - -(*Logger) - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/router_info - - -router_info - - - - + cluster_github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo - - -(RouterInfo) - - - - -cluster_*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo - - -(*RouterInfo) + + +(RouterInfo) -cluster_github.com/go-i2p/go-i2p/lib/common/router_address - - -router_address - - - - cluster_github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress - - -(RouterAddress) - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/data - - -data + + +(RouterAddress) cluster_github.com/go-i2p/go-i2p/lib/common/data.I2PString - - -(I2PString) + + +(I2PString) - -cluster_github.com/flynn/noise - - -noise + +cluster_*github.com/sirupsen/logrus.Logger + + +(*Logger) -cluster_*github.com/flynn/noise.HandshakeState - - -(*HandshakeState) +cluster_*github.com/go-i2p/logger.Logger + + +(*Logger) -cluster_*github.com/flynn/noise.CipherState - - -(*CipherState) +cluster_*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport + + +(*NoiseTransport) - -cluster_github.com/emirpasic/gods/queues/circularbuffer - - -circularbuffer + +cluster_*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession + + +(*NoiseSession) -cluster_*github.com/emirpasic/gods/queues/circularbuffer.Queue - - -(*Queue) +cluster_*github.com/go-i2p/go-i2p/lib/transport/noise.HandshakeState + + +(*HandshakeState) + + + + +cluster_*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo + + +(*RouterInfo) -cluster_*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport - - -(*NoiseTransport) +cluster_*github.com/flynn/noise.HandshakeState + + +(*HandshakeState) -cluster_*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession - - -(*NoiseSession) +cluster_*github.com/flynn/noise.CipherState + + +(*CipherState) -cluster_*github.com/go-i2p/go-i2p/lib/transport/noise.HandshakeState - - -(*HandshakeState) - - - - - -github.com/go-i2p/go-i2p/lib/transport/noise.initNegotiationData - - -initNegotiationData - - - - - -github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSession - - -NewNoiseTransportSession - - - - - -github.com/emirpasic/gods/queues/circularbuffer.New - - -New - - - - - -github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSession->github.com/emirpasic/gods/queues/circularbuffer.New - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Bytes - - -Bytes - - - - - -github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSession->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Bytes - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses - - -RouterAddresses - - - - - -github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSession->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String - - -String - - - - - -github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSession->(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String - - - - - - - - -(*github.com/go-i2p/logger.Logger).WithField - - -WithField - - - - - -github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSession->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(*github.com/go-i2p/logger.Logger).WithError - - -WithError - - - - - -github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSession->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(*github.com/go-i2p/logger.Logger).Error - - -Error - - - - - -github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSession->(*github.com/go-i2p/logger.Logger).Error - - - +cluster_*github.com/emirpasic/gods/queues/circularbuffer.Queue + + +(*Queue) - + github.com/samber/oops.Errorf - - -Errorf + + +oops +Errorf - - -github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSession->github.com/samber/oops.Errorf - - - + + +github.com/go-i2p/go-i2p/lib/transport/noise.initNegotiationData + + +initNegotiationData - - -(*github.com/sirupsen/logrus.Logger).Debug - - -Debug - - - - - -github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSession->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - + -github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseSession - - -NewNoiseSession +github.com/flynn/noise.NewCipherSuite + + +noise +NewCipherSuite - - -github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseSession->github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSession - - - - - - - + -github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransport - - -NewNoiseTransport - - - - - -github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransport->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransport->(*github.com/sirupsen/logrus.Logger).Debug - - - +github.com/flynn/noise.NewHandshakeState + + +noise +NewHandshakeState @@ -403,386 +153,803 @@ github.com/go-i2p/go-i2p/lib/transport/noise.init - -init + +init - + github.com/go-i2p/logger.GetGoI2PLogger - - -GetGoI2PLogger + + +logger +GetGoI2PLogger - + github.com/go-i2p/go-i2p/lib/transport/noise.init->github.com/go-i2p/logger.GetGoI2PLogger - - - + + + - - -github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSocket - - -NewNoiseTransportSocket + + +github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSession + + +NewNoiseTransportSession - - -github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSocket->github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransport - - - + + +github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSession->github.com/samber/oops.Errorf + + + - - -github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSocket->(*github.com/go-i2p/logger.Logger).WithField - - - + + +github.com/emirpasic/gods/queues/circularbuffer.New + + +circularbuffer +New - - -github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSocket->(*github.com/go-i2p/logger.Logger).WithError - - - + + +github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSession->github.com/emirpasic/gods/queues/circularbuffer.New + + + - - -github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSocket->(*github.com/go-i2p/logger.Logger).Error - - - + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses + + +router_info +RouterAddresses - - -github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSocket->(*github.com/sirupsen/logrus.Logger).Debug - - - + + +github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSession->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses + + + + + + + + +(*github.com/go-i2p/logger.Logger).WithField + + +logger +WithField + + + + + +github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSession->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(*github.com/go-i2p/logger.Logger).WithError + + +logger +WithError + + + + + +github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSession->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(*github.com/go-i2p/logger.Logger).Error + + +logger +Error + + + + + +github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSession->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(*github.com/sirupsen/logrus.Logger).Debug + + +logrus +Debug + + + + + +github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSession->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Bytes + + +router_address +Bytes + + + + + +github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSession->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Bytes + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String + + +router_info +String + + + + + +github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSession->(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String + + + - + github.com/go-i2p/go-i2p/lib/transport/noise.newBlock - - -newBlock + + +newBlock - + github.com/go-i2p/go-i2p/lib/transport/noise.newBlock->(*github.com/go-i2p/logger.Logger).WithField - - - + + + - + github.com/go-i2p/go-i2p/lib/transport/noise.newBlock->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseSession + + +NewNoiseSession + + + + + +github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseSession->github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSession + + + + + + + + +github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransport + + +NewNoiseTransport + + + + + +github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransport->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransport->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSocket + + +NewNoiseTransportSocket + + + + + +github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSocket->github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransport + + + + + + + + +github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSocket->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSocket->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSocket->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSocket->(*github.com/sirupsen/logrus.Logger).Debug + + + - + github.com/go-i2p/go-i2p/lib/transport/noise.NewHandshakeState - - -NewHandshakeState - - - - - -github.com/flynn/noise.NewCipherSuite - - -NewCipherSuite + + +NewHandshakeState - + github.com/go-i2p/go-i2p/lib/transport/noise.NewHandshakeState->github.com/flynn/noise.NewCipherSuite - - - - - - - - -github.com/flynn/noise.NewHandshakeState - - -NewHandshakeState + + + - + github.com/go-i2p/go-i2p/lib/transport/noise.NewHandshakeState->github.com/flynn/noise.NewHandshakeState - - - + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.HandshakeState).ReadMessage - - -ReadMessage + + +(*github.com/emirpasic/gods/queues/circularbuffer.Queue).Clear + + +circularbuffer +Clear - - -(*github.com/flynn/noise.HandshakeState).ReadMessage - - -ReadMessage + + +(*github.com/emirpasic/gods/queues/circularbuffer.Queue).Enqueue + + +circularbuffer +Enqueue - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.HandshakeState).ReadMessage->(*github.com/flynn/noise.HandshakeState).ReadMessage - - - + + +(*github.com/emirpasic/gods/queues/circularbuffer.Queue).Size + + +circularbuffer +Size - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.HandshakeState).WriteMessage - - -WriteMessage + + +(*github.com/flynn/noise.CipherState).Encrypt + + +noise +Encrypt + + + + + +(*github.com/flynn/noise.CipherState).Decrypt + + +noise +Decrypt - + (*github.com/flynn/noise.HandshakeState).WriteMessage - - -WriteMessage + + +noise +WriteMessage + + + + + +(*github.com/flynn/noise.HandshakeState).ReadMessage + + +noise +ReadMessage + + + + + +(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash + + +router_info +IdentHash + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.HandshakeState).ReadMessage + + +ReadMessage + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.HandshakeState).ReadMessage->(*github.com/flynn/noise.HandshakeState).ReadMessage + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.HandshakeState).WriteMessage + + +WriteMessage - + (*github.com/go-i2p/go-i2p/lib/transport/noise.HandshakeState).WriteMessage->(*github.com/flynn/noise.HandshakeState).WriteMessage - - - + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).SetDeadline - - -SetDeadline + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RemoteAddr + + +RemoteAddr - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).SetDeadline->(*github.com/go-i2p/logger.Logger).WithField - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RemoteAddr->(*github.com/go-i2p/logger.Logger).WithField + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).SetDeadline->(*github.com/sirupsen/logrus.Logger).Debug - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RemoteAddr->(*github.com/sirupsen/logrus.Logger).Debug + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunOutgoingHandshake - - -RunOutgoingHandshake - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeInitiatorHandshakeMessage - - -ComposeInitiatorHandshakeMessage - - - - + -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunOutgoingHandshake->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeInitiatorHandshakeMessage - - - +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RemoteAddr->(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Write - - -Write + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).readPacketLocked + + +readPacketLocked - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunOutgoingHandshake->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Write - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).encryptPacket + + +encryptPacket - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunOutgoingHandshake->(*github.com/go-i2p/logger.Logger).WithField - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).readPacketLocked->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).encryptPacket + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunOutgoingHandshake->(*github.com/go-i2p/logger.Logger).WithError - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).readPacketLocked->(*github.com/go-i2p/logger.Logger).WithField + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunOutgoingHandshake->(*github.com/go-i2p/logger.Logger).Error - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).readPacketLocked->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).readPacketLocked->(*github.com/go-i2p/logger.Logger).Error + + + - + (*github.com/go-i2p/logger.Logger).WithFields - - -WithFields + + +logger +WithFields - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).readPacketLocked->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunOutgoingHandshake->(*github.com/go-i2p/logger.Logger).WithFields - - - +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).readPacketLocked->(*github.com/sirupsen/logrus.Logger).Debug + + + - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).encryptPacket->github.com/samber/oops.Errorf + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).encryptPacket->(*github.com/flynn/noise.CipherState).Encrypt + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).encryptPacket->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).encryptPacket->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunOutgoingHandshake->(*github.com/sirupsen/logrus.Logger).Debug - - - +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).encryptPacket->(*github.com/go-i2p/logger.Logger).Error + + + - - -(*github.com/sirupsen/logrus.Logger).Println - - -Println + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).encryptPacket->(*github.com/go-i2p/logger.Logger).WithFields + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunOutgoingHandshake->(*github.com/sirupsen/logrus.Logger).Println - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeInitiatorHandshakeMessage->github.com/go-i2p/go-i2p/lib/transport/noise.initNegotiationData - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).encryptPacket->(*github.com/sirupsen/logrus.Logger).Debug + + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).peerStaticKey - - -peerStaticKey + + +peerStaticKey + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).peerStaticKey->github.com/samber/oops.Errorf + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).peerStaticKey->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data + + +data +Data + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).peerStaticKey->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle + + +router_address +TransportStyle + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).peerStaticKey->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKey + + +router_address +StaticKey + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).peerStaticKey->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKey + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeInitiatorHandshakeMessage + + +ComposeInitiatorHandshakeMessage + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeInitiatorHandshakeMessage->github.com/samber/oops.Errorf + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeInitiatorHandshakeMessage->github.com/go-i2p/go-i2p/lib/transport/noise.initNegotiationData + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeInitiatorHandshakeMessage->github.com/flynn/noise.NewCipherSuite + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeInitiatorHandshakeMessage->github.com/flynn/noise.NewHandshakeState + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeInitiatorHandshakeMessage->(*github.com/flynn/noise.HandshakeState).WriteMessage + + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeInitiatorHandshakeMessage->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).peerStaticKey - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).HandshakeKey - - -HandshakeKey + + +HandshakeKey @@ -790,1583 +957,1379 @@ (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeInitiatorHandshakeMessage->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).HandshakeKey - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeInitiatorHandshakeMessage->github.com/flynn/noise.NewCipherSuite - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeInitiatorHandshakeMessage->github.com/flynn/noise.NewHandshakeState - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeInitiatorHandshakeMessage->(*github.com/flynn/noise.HandshakeState).WriteMessage - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeInitiatorHandshakeMessage->github.com/samber/oops.Errorf - - - + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeInitiatorHandshakeMessage->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data - - -Data - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).peerStaticKey->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle - - -TransportStyle - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).peerStaticKey->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKey - - -StaticKey - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).peerStaticKey->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKey - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).peerStaticKey->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).peerStaticKey->github.com/samber/oops.Errorf - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Write->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunOutgoingHandshake - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).writePacketLocked - - -writePacketLocked - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Write->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).writePacketLocked - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Write->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Write->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Write->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Write->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Write->github.com/samber/oops.Errorf - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Write->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).encryptPacket - - -encryptPacket + + +writePacketLocked - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).writePacketLocked->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).encryptPacket - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).writePacketLocked->(*github.com/go-i2p/logger.Logger).WithField - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).writePacketLocked->(*github.com/go-i2p/logger.Logger).WithError - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).writePacketLocked->(*github.com/go-i2p/logger.Logger).Error - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).writePacketLocked->(*github.com/go-i2p/logger.Logger).WithFields - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).writePacketLocked->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/flynn/noise.CipherState).Encrypt - - -Encrypt - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).encryptPacket->(*github.com/flynn/noise.CipherState).Encrypt - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).encryptPacket->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).encryptPacket->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).encryptPacket->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).encryptPacket->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).encryptPacket->github.com/samber/oops.Errorf - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).encryptPacket->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).processCallback - - -processCallback - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).processCallback->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).processCallback->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).processCallback->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).processCallback->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).decryptPacket - - -decryptPacket - - - - - -(*github.com/flynn/noise.CipherState).Decrypt - - -Decrypt - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).decryptPacket->(*github.com/flynn/noise.CipherState).Decrypt - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).decryptPacket->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).decryptPacket->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).decryptPacket->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).decryptPacket->github.com/samber/oops.Errorf - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).decryptPacket->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).peerStaticIV - - -peerStaticIV - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).peerStaticIV->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).peerStaticIV->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle - - - - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).InitializationVector - - -InitializationVector - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).peerStaticIV->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).InitializationVector - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).peerStaticIV->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).peerStaticIV->github.com/samber/oops.Errorf - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).SetReadDeadline - - -SetReadDeadline + + +SetReadDeadline - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).SetReadDeadline->(*github.com/go-i2p/logger.Logger).WithField - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).SetReadDeadline->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RemoteAddr - - -RemoteAddr + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunOutgoingHandshake + + +RunOutgoingHandshake - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RemoteAddr->(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunOutgoingHandshake->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeInitiatorHandshakeMessage + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RemoteAddr->(*github.com/go-i2p/logger.Logger).WithField - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Write + + +Write - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RemoteAddr->(*github.com/sirupsen/logrus.Logger).Debug - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunOutgoingHandshake->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Write + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Read - - -Read + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunOutgoingHandshake->(*github.com/go-i2p/logger.Logger).WithField + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunIncomingHandshake - - -RunIncomingHandshake + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunOutgoingHandshake->(*github.com/go-i2p/logger.Logger).WithError + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Read->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunIncomingHandshake - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunOutgoingHandshake->(*github.com/go-i2p/logger.Logger).Error + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).readPacketLocked - - -readPacketLocked + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunOutgoingHandshake->(*github.com/go-i2p/logger.Logger).WithFields + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Read->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).readPacketLocked - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunOutgoingHandshake->(*github.com/sirupsen/logrus.Logger).Debug + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Read->(*github.com/go-i2p/logger.Logger).WithField - - - + + +(*github.com/sirupsen/logrus.Logger).Println + + +logrus +Println - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Read->(*github.com/go-i2p/logger.Logger).WithError - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunOutgoingHandshake->(*github.com/sirupsen/logrus.Logger).Println + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Read->(*github.com/go-i2p/logger.Logger).Error - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Write->github.com/samber/oops.Errorf + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Read->(*github.com/go-i2p/logger.Logger).WithFields - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Write->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).writePacketLocked + + + - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Write->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunOutgoingHandshake + + + + + + + -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Read->github.com/samber/oops.Errorf - - - +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Write->(*github.com/go-i2p/logger.Logger).WithField + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Read->(*github.com/sirupsen/logrus.Logger).Debug - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Write->(*github.com/go-i2p/logger.Logger).WithError + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunIncomingHandshake->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Write - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Write->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Write->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Write->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).processCallback + + +processCallback + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).processCallback->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).processCallback->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).processCallback->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).processCallback->(*github.com/sirupsen/logrus.Logger).Debug + + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeReceiverHandshakeMessage - - -ComposeReceiverHandshakeMessage - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunIncomingHandshake->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeReceiverHandshakeMessage - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunIncomingHandshake->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).HandshakeKey - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunIncomingHandshake->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunIncomingHandshake->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunIncomingHandshake->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunIncomingHandshake->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunIncomingHandshake->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunIncomingHandshake->(*github.com/sirupsen/logrus.Logger).Println - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeReceiverHandshakeMessage->github.com/go-i2p/go-i2p/lib/transport/noise.initNegotiationData - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeReceiverHandshakeMessage->github.com/flynn/noise.NewCipherSuite - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeReceiverHandshakeMessage->github.com/flynn/noise.NewHandshakeState - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeReceiverHandshakeMessage->(*github.com/flynn/noise.HandshakeState).WriteMessage - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeReceiverHandshakeMessage->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeReceiverHandshakeMessage->(*github.com/go-i2p/logger.Logger).Error - - - + + +ComposeReceiverHandshakeMessage - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeReceiverHandshakeMessage->github.com/samber/oops.Errorf - - - + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeReceiverHandshakeMessage->github.com/go-i2p/go-i2p/lib/transport/noise.initNegotiationData + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeReceiverHandshakeMessage->github.com/flynn/noise.NewCipherSuite + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeReceiverHandshakeMessage->github.com/flynn/noise.NewHandshakeState + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeReceiverHandshakeMessage->(*github.com/flynn/noise.HandshakeState).WriteMessage + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeReceiverHandshakeMessage->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeReceiverHandshakeMessage->(*github.com/go-i2p/logger.Logger).Error + + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeReceiverHandshakeMessage->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).readPacketLocked->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).encryptPacket - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).readPacketLocked->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).readPacketLocked->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).readPacketLocked->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).readPacketLocked->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).readPacketLocked->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).QueueSendI2NP - - -QueueSendI2NP - - - - - -(*github.com/emirpasic/gods/queues/circularbuffer.Queue).Enqueue - - -Enqueue - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).QueueSendI2NP->(*github.com/emirpasic/gods/queues/circularbuffer.Queue).Enqueue - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Close - - -Close - - - - - -(*github.com/emirpasic/gods/queues/circularbuffer.Queue).Clear - - -Clear - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Close->(*github.com/emirpasic/gods/queues/circularbuffer.Queue).Clear - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Close->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).SetWriteDeadline - - -SetWriteDeadline + + +SetWriteDeadline - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).SetWriteDeadline->(*github.com/go-i2p/logger.Logger).WithField - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).SetWriteDeadline->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).SendQueueSize - - -SendQueueSize - - - - - -(*github.com/emirpasic/gods/queues/circularbuffer.Queue).Size - - -Size - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).SendQueueSize->(*github.com/emirpasic/gods/queues/circularbuffer.Queue).Size - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).LocalAddr - - -LocalAddr + + +LocalAddr - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).LocalAddr->(*github.com/go-i2p/logger.Logger).WithField - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).LocalAddr->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Compatible - - -Compatible + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Close + + +Close - - -(*github.com/go-i2p/logger.Logger).Warn - - -Warn + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Close->(*github.com/emirpasic/gods/queues/circularbuffer.Queue).Clear + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Compatible->(*github.com/go-i2p/logger.Logger).Warn - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Close->(*github.com/sirupsen/logrus.Logger).Debug + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).localStaticIV - - -localStaticIV + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).QueueSendI2NP + + +QueueSendI2NP - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).QueueSendI2NP->(*github.com/emirpasic/gods/queues/circularbuffer.Queue).Enqueue + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).peerStaticIV + + +peerStaticIV + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).peerStaticIV->github.com/samber/oops.Errorf + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).peerStaticIV->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).peerStaticIV->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).peerStaticIV->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).InitializationVector + + +router_address +InitializationVector + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).peerStaticIV->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).InitializationVector + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunIncomingHandshake + + +RunIncomingHandshake + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunIncomingHandshake->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Write + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunIncomingHandshake->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).ComposeReceiverHandshakeMessage + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunIncomingHandshake->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).HandshakeKey + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunIncomingHandshake->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunIncomingHandshake->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunIncomingHandshake->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunIncomingHandshake->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunIncomingHandshake->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunIncomingHandshake->(*github.com/sirupsen/logrus.Logger).Println + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).SetDeadline + + +SetDeadline + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).SetDeadline->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).SetDeadline->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).decryptPacket + + +decryptPacket + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).decryptPacket->github.com/samber/oops.Errorf + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).decryptPacket->(*github.com/flynn/noise.CipherState).Decrypt + + + + + + + -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).localStaticIV->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data - - - +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).decryptPacket->(*github.com/go-i2p/logger.Logger).WithField + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).localStaticIV->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).decryptPacket->(*github.com/go-i2p/logger.Logger).WithError + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).localStaticIV->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).InitializationVector - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).decryptPacket->(*github.com/go-i2p/logger.Logger).Error + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).localStaticIV->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).decryptPacket->(*github.com/sirupsen/logrus.Logger).Debug + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).localStaticIV->github.com/samber/oops.Errorf - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Read + + +Read + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Read->github.com/samber/oops.Errorf + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Read->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).readPacketLocked + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Read->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunIncomingHandshake + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Read->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Read->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Read->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Read->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).Read->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).SendQueueSize + + +SendQueueSize + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).SendQueueSize->(*github.com/emirpasic/gods/queues/circularbuffer.Queue).Size + + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Accept - - -Accept + + +Accept - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Accept->(*github.com/go-i2p/logger.Logger).WithField - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Accept->(*github.com/go-i2p/logger.Logger).WithError - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Accept->(*github.com/go-i2p/logger.Logger).Error - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Accept->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).SetIdentity - - -SetIdentity - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).SetIdentity->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).SetIdentity->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).SetIdentity->(*github.com/go-i2p/logger.Logger).WithFields - - - + + +SetIdentity - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).SetIdentity->github.com/samber/oops.Errorf - - - + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).SetIdentity->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).SetIdentity->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).SetIdentity->(*github.com/go-i2p/logger.Logger).WithFields + + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).SetIdentity->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Handshake - - -Handshake + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).localStaticIV + + +localStaticIV - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Handshake->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunOutgoingHandshake - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).localStaticIV->github.com/samber/oops.Errorf + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).getSession - - -getSession + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).localStaticIV->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Handshake->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).getSession - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).localStaticIV->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data + + + - - -(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash - - -IdentHash + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).localStaticIV->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Handshake->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Handshake->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Handshake->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Handshake->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Handshake->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).GetSession - - -GetSession - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).getSession->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).GetSession - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).getSession->(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).getSession->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).getSession->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - + -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).getSession->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).getSession->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).GetSession->github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseSession - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).GetSession->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).GetSession->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).GetSession->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).GetSession->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).GetSession->github.com/samber/oops.Errorf - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).GetSession->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Compatable - - -Compatable - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Compatable->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Compatable->(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Compatable->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Compatable->(*github.com/sirupsen/logrus.Logger).Debug - - - +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).localStaticIV->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).InitializationVector + + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Addr - - -Addr + + +Addr - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Addr->(*github.com/go-i2p/logger.Logger).WithField - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Addr->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Close - - -Close - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Close->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).localStaticKey - - -localStaticKey - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).localStaticKey->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).localStaticKey->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).localStaticKey->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKey - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).localStaticKey->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses - - - + + +localStaticKey - + (*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).localStaticKey->github.com/samber/oops.Errorf - - - + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).localStaticKey->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).localStaticKey->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).localStaticKey->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).localStaticKey->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKey + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Compatable + + +Compatable + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Compatable->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Compatable->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Compatable->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Compatable->(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Compatible + + +Compatible + + + + + +(*github.com/go-i2p/logger.Logger).Warn + + +logger +Warn + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Compatible->(*github.com/go-i2p/logger.Logger).Warn + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).GetSession + + +GetSession + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).GetSession->github.com/samber/oops.Errorf + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).GetSession->github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseSession + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).GetSession->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).GetSession->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).GetSession->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).GetSession->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).GetSession->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).getSession + + +getSession + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).getSession->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).GetSession + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).getSession->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).getSession->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).getSession->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).getSession->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).getSession->(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Handshake + + +Handshake + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Handshake->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Handshake->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseSession).RunOutgoingHandshake + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Handshake->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).getSession + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Handshake->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Handshake->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Handshake->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Handshake->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Close + + +Close + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Close->(*github.com/sirupsen/logrus.Logger).Debug + + + diff --git a/lib/transport/ntcp/doc.md b/lib/transport/ntcp/README.md similarity index 50% rename from lib/transport/ntcp/doc.md rename to lib/transport/ntcp/README.md index 35e27e0..f73849d 100644 --- a/lib/transport/ntcp/doc.md +++ b/lib/transport/ntcp/README.md @@ -2,172 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/transport/ntcp" - -## Usage - -```go -const ( - NOISE_DH_CURVE25519 = 1 - - NOISE_CIPHER_CHACHAPOLY = 1 - NOISE_CIPHER_AESGCM = 2 - - NOISE_HASH_SHA256 = 3 - - NOISE_PATTERN_XK = 11 - - MaxPayloadSize = math.MaxUint16 - 16 - uint16Size /*data len*/ -) -``` - -```go -const ( - NTCP_PROTOCOL_VERSION = 2 - NTCP_PROTOCOL_NAME = "NTCP2" - NTCP_MESSAGE_MAX_SIZE = 65537 -) -``` - -#### type NTCP2Session - -```go -type NTCP2Session struct { - *noise.NoiseSession - *NTCP2Transport -} -``` - -NTCP2Session extends the base noise.NoiseSession with NTCP2-specific -functionality - -#### func NewNTCP2Session - -```go -func NewNTCP2Session(noiseConfig router_info.RouterInfo) (*NTCP2Session, error) -``` -NewNTCP2Session creates a new NTCP2 session using the existing noise -implementation - -#### func (*NTCP2Session) ComposeInitiatorHandshakeMessage - -```go -func (c *NTCP2Session) ComposeInitiatorHandshakeMessage( - localStatic noise.DHKey, - remoteStatic []byte, - payload []byte, - ephemeralPrivate []byte, -) ( - negotiationData, - handshakeMessage []byte, - handshakeState *noise.HandshakeState, - err error, -) -``` -Modify ComposeInitiatorHandshakeMessage in outgoing_handshake.go At the moment, -remoteStatic is stored in the NTCP2Session() and doesn't need to be passed as an -argument. You actually get it directly out of the remote RouterInfo, which the -NoiseSession also has access to. So maybe, the interface should change so that -we: - - - A: get the localStatic out of the parent NTCP2Transport's routerInfo, which is the "local" routerInfo - - B: get the remoteStatic out of the NTCP2Session router, which is the "remote" routerInfo - -#### func (*NTCP2Session) CreateSessionRequest - -```go -func (s *NTCP2Session) CreateSessionRequest() (*SessionRequest, error) -``` - -#### func (*NTCP2Session) DeobfuscateEphemeral - -```go -func (s *NTCP2Session) DeobfuscateEphemeral(obfuscatedEphemeralKey []byte) ([]byte, error) -``` -DeobfuscateEphemeral reverses the key obfuscation - -#### func (*NTCP2Session) ObfuscateEphemeral - -```go -func (s *NTCP2Session) ObfuscateEphemeral(ephemeralKey []byte) ([]byte, error) -``` -ObfuscateEphemeral implements NTCP2's key obfuscation using AES-256-CBC - -#### type NTCP2Transport - -```go -type NTCP2Transport struct { - *noise.NoiseTransport - *sntp.RouterTimestamper -} -``` - -NTCP2Transport is an ntcp2 transport implementing transport.NTCP2Transport -interface - -#### func NewNTCP2Transport - -```go -func NewNTCP2Transport(routerInfo *router_info.RouterInfo) (*NTCP2Transport, error) -``` - -#### func (*NTCP2Transport) Accept - -```go -func (t *NTCP2Transport) Accept() (net.Conn, error) -``` - -#### func (*NTCP2Transport) Address - -```go -func (t *NTCP2Transport) Address() (*router_address.RouterAddress, error) -``` - -#### func (*NTCP2Transport) Compatible - -```go -func (t *NTCP2Transport) Compatible(routerInfo router_info.RouterInfo) bool -``` - -#### func (*NTCP2Transport) GetSession - -```go -func (t *NTCP2Transport) GetSession(routerInfo router_info.RouterInfo) (transport.TransportSession, error) -``` - -#### func (*NTCP2Transport) Name - -```go -func (t *NTCP2Transport) Name() string -``` - -#### type PaddingStrategy - -```go -type PaddingStrategy interface { - AddPadding(message []byte) []byte - RemovePadding(message []byte) []byte -} -``` - - -#### type SessionRequest - -```go -type SessionRequest struct { - ObfuscatedKey []byte // 32 bytes - Timestamp uint32 // 4 bytes - Padding []byte // Random padding -} -``` - -# ntcp --- - import "github.com/go-i2p/go-i2p/lib/transport/ntcp" - - - ![ntcp.svg](ntcp) + + ## Usage ```go diff --git a/lib/transport/ntcp/ntcp.svg b/lib/transport/ntcp/ntcp.svg index d240182..6256afd 100644 --- a/lib/transport/ntcp/ntcp.svg +++ b/lib/transport/ntcp/ntcp.svg @@ -4,211 +4,97 @@ - - + + gocallvis - + cluster_focus - -ntcp + +ntcp - -cluster_golang.org/x/exp/rand - - -rand - - - - -cluster_github.com/samber/oops - - -oops - - - - -cluster_github.com/go-i2p/logger - - -logger - - - - -cluster_github.com/go-i2p/go-i2p/lib/util/time/sntp - - -sntp - - - - -cluster_*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper - - -(*RouterTimestamper) - - - - -cluster_github.com/go-i2p/go-i2p/lib/transport/obfs - - -obfs - - - - -cluster_github.com/go-i2p/go-i2p/lib/transport/noise - - -noise - - - - -cluster_*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport - - -(*NoiseTransport) - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/router_info - - -router_info - - - - -cluster_*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo - - -(*RouterInfo) + +cluster_github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress + + +(RouterAddress) -cluster_github.com/go-i2p/go-i2p/lib/common/router_address - - -router_address - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress - - -(RouterAddress) - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/data - - -data +cluster_github.com/go-i2p/go-i2p/lib/common/data.I2PString + + +(I2PString) -cluster_github.com/go-i2p/go-i2p/lib/common/data.I2PString - - -(I2PString) +cluster_*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper + + +(*RouterTimestamper) - -cluster_github.com/flynn/noise - - -noise + +cluster_*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport + + +(*NTCP2Transport) -cluster_*github.com/flynn/noise.HandshakeState - - -(*HandshakeState) +cluster_*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session + + +(*NTCP2Session) + + + + +cluster_*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport + + +(*NoiseTransport) -cluster_*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport - - -(*NTCP2Transport) +cluster_*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo + + +(*RouterInfo) -cluster_*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session - - -(*NTCP2Session) +cluster_*github.com/flynn/noise.HandshakeState + + +(*HandshakeState) - + -github.com/go-i2p/go-i2p/lib/transport/ntcp.NewNTCP2Session - - -NewNTCP2Session +github.com/samber/oops.Errorf + + +oops +Errorf - - -github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSession - - -NewNoiseTransportSession - - - - - -github.com/go-i2p/go-i2p/lib/transport/ntcp.NewNTCP2Session->github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSession - - - - - - - + -github.com/go-i2p/go-i2p/lib/transport/ntcp.init - - -init - - - - - -github.com/go-i2p/logger.GetGoI2PLogger - - -GetGoI2PLogger - - - - - -github.com/go-i2p/go-i2p/lib/transport/ntcp.init->github.com/go-i2p/logger.GetGoI2PLogger - - - +github.com/go-i2p/go-i2p/lib/transport/obfs.ObfuscateEphemeralKey + + +obfs +ObfuscateEphemeralKey @@ -216,242 +102,329 @@ github.com/go-i2p/go-i2p/lib/transport/ntcp.NewNTCP2Transport - -NewNTCP2Transport + +NewNTCP2Transport - + github.com/go-i2p/go-i2p/lib/util/time/sntp.NewRouterTimestamper - - -NewRouterTimestamper + + +sntp +NewRouterTimestamper - + github.com/go-i2p/go-i2p/lib/transport/ntcp.NewNTCP2Transport->github.com/go-i2p/go-i2p/lib/util/time/sntp.NewRouterTimestamper - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).CreateSessionRequest - - -CreateSessionRequest - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).ObfuscateEphemeral - - -ObfuscateEphemeral - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).CreateSessionRequest->(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).ObfuscateEphemeral - - - + + + - + golang.org/x/exp/rand.Read - - -Read - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).CreateSessionRequest->golang.org/x/exp/rand.Read - - - + + +rand +Read - + golang.org/x/exp/rand.Intn - - -Intn + + +rand +Intn - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).CreateSessionRequest->golang.org/x/exp/rand.Intn - - - + + +github.com/go-i2p/go-i2p/lib/transport/ntcp.NewNTCP2Session + + +NewNTCP2Session - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticKey - - -peerStaticKey + + +github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSession + + +noise +NewNoiseTransportSession - - -(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data - - -Data + + +github.com/go-i2p/go-i2p/lib/transport/ntcp.NewNTCP2Session->github.com/go-i2p/go-i2p/lib/transport/noise.NewNoiseTransportSession + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticKey->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data - - - + + +github.com/go-i2p/go-i2p/lib/transport/ntcp.init + + +init - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle - - -TransportStyle + + +github.com/go-i2p/logger.GetGoI2PLogger + + +logger +GetGoI2PLogger - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticKey->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle - - - + + +github.com/go-i2p/go-i2p/lib/transport/ntcp.init->github.com/go-i2p/logger.GetGoI2PLogger + + + - - -(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKey - - -StaticKey + + +github.com/go-i2p/go-i2p/lib/common/router_address.NewRouterAddress + + +router_address +NewRouterAddress - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticKey->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKey - - - + + +github.com/flynn/noise.NewCipherSuite + + +noise +NewCipherSuite + + + + + +github.com/flynn/noise.NewHandshakeState + + +noise +NewHandshakeState + + + + + +(*github.com/flynn/noise.HandshakeState).WriteMessage + + +noise +WriteMessage - + (*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses - - -RouterAddresses + + +router_info +RouterAddresses - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticKey->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Accept + + +noise +Accept - - -github.com/samber/oops.Errorf - - -Errorf + + +(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Handshake + + +noise +Handshake + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticKey + + +peerStaticKey - + (*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticKey->github.com/samber/oops.Errorf - - - + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).ObfuscateEphemeral->(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticKey - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticKey->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data + + +data +Data + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticKey->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle + + +router_address +TransportStyle + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticKey->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKey + + +router_address +StaticKey + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticKey->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKey + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).DeobfuscateEphemeral + + +DeobfuscateEphemeral + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).DeobfuscateEphemeral->github.com/go-i2p/go-i2p/lib/transport/obfs.ObfuscateEphemeralKey + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).DeobfuscateEphemeral->(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticKey + + + - + (*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticIV - - -peerStaticIV + + +peerStaticIV - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).ObfuscateEphemeral->(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticIV - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).DeobfuscateEphemeral->(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticIV + + + - - -github.com/go-i2p/go-i2p/lib/transport/obfs.ObfuscateEphemeralKey - - -ObfuscateEphemeralKey + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticIV->github.com/samber/oops.Errorf + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).ObfuscateEphemeral->github.com/go-i2p/go-i2p/lib/transport/obfs.ObfuscateEphemeralKey - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticIV->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses + + + - + (*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticIV->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data - - - + + + @@ -459,431 +432,351 @@ (*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticIV->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle - - + + - + (github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).InitializationVector - - -InitializationVector + + +router_address +InitializationVector - + (*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticIV->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).InitializationVector - - - + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticIV->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).CreateSessionRequest + + +CreateSessionRequest - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticIV->github.com/samber/oops.Errorf - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).CreateSessionRequest->golang.org/x/exp/rand.Read + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).DeobfuscateEphemeral - - -DeobfuscateEphemeral + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).CreateSessionRequest->golang.org/x/exp/rand.Intn + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).DeobfuscateEphemeral->(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticKey - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).ObfuscateEphemeral + + +ObfuscateEphemeral - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).DeobfuscateEphemeral->(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticIV - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).CreateSessionRequest->(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).ObfuscateEphemeral + + + - + -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).DeobfuscateEphemeral->github.com/go-i2p/go-i2p/lib/transport/obfs.ObfuscateEphemeralKey - - - +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).ObfuscateEphemeral->github.com/go-i2p/go-i2p/lib/transport/obfs.ObfuscateEphemeralKey + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).ObfuscateEphemeral->(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticKey + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).ObfuscateEphemeral->(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).peerStaticIV + + + - + (*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).ComposeInitiatorHandshakeMessage - - -ComposeInitiatorHandshakeMessage - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).ComposeInitiatorHandshakeMessage->(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).CreateSessionRequest - - - - - - - - -github.com/flynn/noise.NewCipherSuite - - -NewCipherSuite + + +ComposeInitiatorHandshakeMessage - + (*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).ComposeInitiatorHandshakeMessage->github.com/flynn/noise.NewCipherSuite - - - - - - - - -github.com/flynn/noise.NewHandshakeState - - -NewHandshakeState + + + - + (*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).ComposeInitiatorHandshakeMessage->github.com/flynn/noise.NewHandshakeState - - - - - - - - -(*github.com/flynn/noise.HandshakeState).WriteMessage - - -WriteMessage + + + - + (*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).ComposeInitiatorHandshakeMessage->(*github.com/flynn/noise.HandshakeState).WriteMessage - - - + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Accept - - -Accept - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Accept->github.com/go-i2p/go-i2p/lib/transport/ntcp.NewNTCP2Session - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).ComposeInitiatorHandshakeMessage->(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Session).CreateSessionRequest + + + - + (*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Compatible - - -Compatible - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Accept->(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Compatible - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Accept - - -Accept - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Accept->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Accept - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Accept->github.com/samber/oops.Errorf - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Compatible->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Compatible->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle - - - + + +Compatible - + (*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Compatible->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses - - - + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Compatible->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Compatible->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle + + + - + (*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).localStaticKey - - -localStaticKey - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).localStaticKey->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).localStaticKey->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).localStaticKey->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKey - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).localStaticKey->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses - - - + + +localStaticKey - + (*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).localStaticKey->github.com/samber/oops.Errorf - - - + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).localStaticIV - - -localStaticIV + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).localStaticKey->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).localStaticIV->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).localStaticKey->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).localStaticIV->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).localStaticKey->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).localStaticIV->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).InitializationVector - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).localStaticKey->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).StaticKey + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).localStaticIV->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Accept + + +Accept - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).localStaticIV->github.com/samber/oops.Errorf - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Accept->github.com/samber/oops.Errorf + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Accept->github.com/go-i2p/go-i2p/lib/transport/ntcp.NewNTCP2Session + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Accept->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Accept + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Accept->(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Compatible + + + - + (*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).GetSession - - -GetSession + + +GetSession - + (*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).GetSession->github.com/go-i2p/go-i2p/lib/transport/ntcp.NewNTCP2Session - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Handshake - - -Handshake + + + - + (*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).GetSession->(*github.com/go-i2p/go-i2p/lib/transport/noise.NoiseTransport).Handshake - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Address - - -Address + + +Address - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Name - - -Name - - - - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Address->(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Name - - - - - - - - -github.com/go-i2p/go-i2p/lib/common/router_address.NewRouterAddress - - -NewRouterAddress + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Address->github.com/samber/oops.Errorf + + + - + (*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Address->github.com/go-i2p/go-i2p/lib/common/router_address.NewRouterAddress - - - + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Name + + +Name + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Address->(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Name + + + @@ -891,26 +784,72 @@ (*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime - -GetCurrentTime + +sntp +GetCurrentTime - + (*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Address->(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime - - - + + + - - -(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).Address->github.com/samber/oops.Errorf - - - + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).localStaticIV + + +localStaticIV + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).localStaticIV->github.com/samber/oops.Errorf + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).localStaticIV->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).RouterAddresses + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).localStaticIV->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).localStaticIV->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport/ntcp.NTCP2Transport).localStaticIV->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).InitializationVector + + + diff --git a/lib/transport/obfs/doc.md b/lib/transport/obfs/README.md similarity index 52% rename from lib/transport/obfs/doc.md rename to lib/transport/obfs/README.md index 181f798..5f04d50 100644 --- a/lib/transport/obfs/doc.md +++ b/lib/transport/obfs/README.md @@ -2,33 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/transport/obfs" - -## Usage - -#### func DeobfuscateEphemeralKey - -```go -func DeobfuscateEphemeralKey(message []byte, aesKey *crypto.AESSymmetricKey) ([]byte, error) -``` -DeobfuscateEphemeralKey decrypts the ephemeral public key in the message using -AES-256-CBC without padding - -#### func ObfuscateEphemeralKey - -```go -func ObfuscateEphemeralKey(message []byte, aesKey *crypto.AESSymmetricKey) ([]byte, error) -``` -ObfuscateEphemeralKey encrypts the ephemeral public key in the message using -AES-256-CBC without padding - -# obfs --- - import "github.com/go-i2p/go-i2p/lib/transport/obfs" - - - ![obfs.svg](obfs) + + ## Usage #### func DeobfuscateEphemeralKey diff --git a/lib/transport/obfs/obfs.svg b/lib/transport/obfs/obfs.svg index e56b804..7b099cc 100644 --- a/lib/transport/obfs/obfs.svg +++ b/lib/transport/obfs/obfs.svg @@ -4,126 +4,113 @@ - - + + gocallvis - + cluster_focus - -obfs + +obfs - -cluster_github.com/samber/oops - - -oops + +cluster_*github.com/go-i2p/go-i2p/lib/crypto.AESSymmetricEncrypter + + +(*AESSymmetricEncrypter) -cluster_github.com/go-i2p/go-i2p/lib/crypto - - -crypto - - - - -cluster_*github.com/go-i2p/go-i2p/lib/crypto.AESSymmetricEncrypter - - -(*AESSymmetricEncrypter) - - - - cluster_*github.com/go-i2p/go-i2p/lib/crypto.AESSymmetricDecrypter - - -(*AESSymmetricDecrypter) + + +(*AESSymmetricDecrypter) github.com/go-i2p/go-i2p/lib/transport/obfs.ObfuscateEphemeralKey - - -ObfuscateEphemeralKey - - - - - -(*github.com/go-i2p/go-i2p/lib/crypto.AESSymmetricEncrypter).EncryptNoPadding - - -EncryptNoPadding - - - - - -github.com/go-i2p/go-i2p/lib/transport/obfs.ObfuscateEphemeralKey->(*github.com/go-i2p/go-i2p/lib/crypto.AESSymmetricEncrypter).EncryptNoPadding - - - + + +ObfuscateEphemeralKey - + github.com/samber/oops.Errorf - - -Errorf + + +oops +Errorf - + github.com/go-i2p/go-i2p/lib/transport/obfs.ObfuscateEphemeralKey->github.com/samber/oops.Errorf - - - + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/crypto.AESSymmetricEncrypter).EncryptNoPadding + + +crypto +EncryptNoPadding + + + + + +github.com/go-i2p/go-i2p/lib/transport/obfs.ObfuscateEphemeralKey->(*github.com/go-i2p/go-i2p/lib/crypto.AESSymmetricEncrypter).EncryptNoPadding + + + - -github.com/go-i2p/go-i2p/lib/transport/obfs.DeobfuscateEphemeralKey - - -DeobfuscateEphemeralKey - - - - -(*github.com/go-i2p/go-i2p/lib/crypto.AESSymmetricDecrypter).DecryptNoPadding - - -DecryptNoPadding - - - - - -github.com/go-i2p/go-i2p/lib/transport/obfs.DeobfuscateEphemeralKey->(*github.com/go-i2p/go-i2p/lib/crypto.AESSymmetricDecrypter).DecryptNoPadding - - - +github.com/go-i2p/go-i2p/lib/transport/obfs.DeobfuscateEphemeralKey + + +DeobfuscateEphemeralKey - + github.com/go-i2p/go-i2p/lib/transport/obfs.DeobfuscateEphemeralKey->github.com/samber/oops.Errorf - - - + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/crypto.AESSymmetricDecrypter).DecryptNoPadding + + +crypto +DecryptNoPadding + + + + + +github.com/go-i2p/go-i2p/lib/transport/obfs.DeobfuscateEphemeralKey->(*github.com/go-i2p/go-i2p/lib/crypto.AESSymmetricDecrypter).DecryptNoPadding + + + diff --git a/lib/transport/ssu/doc.md b/lib/transport/ssu/README.md similarity index 61% rename from lib/transport/ssu/doc.md rename to lib/transport/ssu/README.md index 83094c1..000fd30 100644 --- a/lib/transport/ssu/doc.md +++ b/lib/transport/ssu/README.md @@ -2,18 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/transport/ssu" -i2p ssu transport implementation - -## Usage - -# ssu --- - import "github.com/go-i2p/go-i2p/lib/transport/ssu" - -i2p ssu transport implementation - ![ssu.svg](ssu) +i2p ssu transport implementation + ## Usage diff --git a/lib/transport/transport.svg b/lib/transport/transport.svg index 70dae22..832472c 100644 --- a/lib/transport/transport.svg +++ b/lib/transport/transport.svg @@ -4,86 +4,54 @@ - - + + gocallvis - + cluster_focus - -transport - - -cluster_github.com/sirupsen/logrus - - -logrus - - - - -cluster_*github.com/sirupsen/logrus.Logger - - -(*Logger) - - - - -cluster_github.com/samber/oops - - -oops - - + +transport -cluster_github.com/go-i2p/logger - - -logger - - - - -cluster_*github.com/go-i2p/logger.Logger - - -(*Logger) - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/router_info - - -router_info +cluster_github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo + + +(RouterInfo) -cluster_github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo - - -(RouterInfo) +cluster_*github.com/sirupsen/logrus.Logger + + +(*Logger) + + + + +cluster_*github.com/go-i2p/logger.Logger + + +(*Logger) cluster_*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer - -(*TransportMuxer) + +(*TransportMuxer) github.com/go-i2p/go-i2p/lib/transport.Mux - - -Mux + + +Mux @@ -91,35 +59,37 @@ (*github.com/go-i2p/logger.Logger).WithField - -WithField + +logger +WithField - + github.com/go-i2p/go-i2p/lib/transport.Mux->(*github.com/go-i2p/logger.Logger).WithField - - - + + + - + (*github.com/sirupsen/logrus.Logger).Debug - - -Debug + + +logrus +Debug - + github.com/go-i2p/go-i2p/lib/transport.Mux->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + @@ -127,89 +97,91 @@ github.com/go-i2p/go-i2p/lib/transport.init - -init - - - - - -github.com/go-i2p/logger.GetGoI2PLogger - - -GetGoI2PLogger - - - - - -github.com/go-i2p/go-i2p/lib/transport.init->github.com/go-i2p/logger.GetGoI2PLogger - - - + +init - + github.com/samber/oops.Errorf - - -Errorf + + +oops +Errorf - + github.com/go-i2p/go-i2p/lib/transport.init->github.com/samber/oops.Errorf - - - + + + + + + + + +github.com/go-i2p/logger.GetGoI2PLogger + + +logger +GetGoI2PLogger + + + + + +github.com/go-i2p/go-i2p/lib/transport.init->github.com/go-i2p/logger.GetGoI2PLogger + + + - + (*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).Name - - -Name + + +Name - + (*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).Name->(*github.com/go-i2p/logger.Logger).WithField - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).Name->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - - -(*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).SetIdentity - - -SetIdentity + + +(*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).Close + + +Close - - -(*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).SetIdentity->(*github.com/go-i2p/logger.Logger).WithField - - - + + +(*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).Close->(*github.com/go-i2p/logger.Logger).WithField + + + @@ -217,206 +189,210 @@ (*github.com/go-i2p/logger.Logger).WithError - -WithError - - - - - -(*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).SetIdentity->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(*github.com/go-i2p/logger.Logger).Error - - -Error - - - - - -(*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).SetIdentity->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).SetIdentity->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).Close - - -Close - - - - - -(*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).Close->(*github.com/go-i2p/logger.Logger).WithField - - - + +logger +WithError - + (*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).Close->(*github.com/go-i2p/logger.Logger).WithError - - - + + + - + (*github.com/go-i2p/logger.Logger).Warn - - -Warn + + +logger +Warn - + (*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).Close->(*github.com/go-i2p/logger.Logger).Warn - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).Close->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).GetSession - - -GetSession - - - - - -(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String - - -String - - - - - -(*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).GetSession->(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String - - - + + +GetSession - + (*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).GetSession->(*github.com/go-i2p/logger.Logger).WithField - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).GetSession->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).GetSession->(*github.com/go-i2p/logger.Logger).Error - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).GetSession->(*github.com/go-i2p/logger.Logger).Warn - - - + + + + + + + + +(*github.com/go-i2p/logger.Logger).Error + + +logger +Error + + + + + +(*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).GetSession->(*github.com/go-i2p/logger.Logger).Error + + + - + (*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).GetSession->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String + + +router_info +String + + + + + +(*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).GetSession->(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).SetIdentity + + +SetIdentity + + + + + +(*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).SetIdentity->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).SetIdentity->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).SetIdentity->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).SetIdentity->(*github.com/sirupsen/logrus.Logger).Debug + + + - + (*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).Compatible - - -Compatible - - - - - -(*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).Compatible->(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String - - - + + +Compatible - + (*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).Compatible->(*github.com/go-i2p/logger.Logger).WithField - - - + + + - + (*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).Compatible->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/transport.TransportMuxer).Compatible->(github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).String + + + diff --git a/lib/tunnel/doc.md b/lib/tunnel/README.md similarity index 50% rename from lib/tunnel/doc.md rename to lib/tunnel/README.md index 64cd2c2..7cd31ee 100644 --- a/lib/tunnel/doc.md +++ b/lib/tunnel/README.md @@ -2,270 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/tunnel" -i2p garlic tunnel implementation - -## Usage - -```go -const ( - DT_LOCAL = iota - DT_TUNNEL - DT_ROUTER - DT_UNUSED -) -``` - -```go -const ( - FIRST_FRAGMENT = iota - FOLLOW_ON_FRAGMENT -) -``` - -```go -const ( - FLAG_SIZE = 1 - TUNNEL_ID_SIZE = 4 - HASH_SIZE = 32 - DELAY_SIZE = 1 - MESSAGE_ID_SIZE = 4 - EXTENDED_OPTIONS_MIN_SIZE = 2 - SIZE_FIELD_SIZE = 2 -) -``` - -#### type DecryptedTunnelMessage - -```go -type DecryptedTunnelMessage [1028]byte -``` - - -#### func (DecryptedTunnelMessage) Checksum - -```go -func (decrypted_tunnel_message DecryptedTunnelMessage) Checksum() crypto.TunnelIV -``` - -#### func (DecryptedTunnelMessage) DeliveryInstructionsWithFragments - -```go -func (decrypted_tunnel_message DecryptedTunnelMessage) DeliveryInstructionsWithFragments() []DeliveryInstructionsWithFragment -``` -Returns a slice of DeliveryInstructionWithFragment structures, which all of the -Delivery Instructions in the tunnel message and their corresponding -MessageFragment structures. - -#### func (DecryptedTunnelMessage) ID - -```go -func (decrypted_tunnel_message DecryptedTunnelMessage) ID() TunnelID -``` - -#### func (DecryptedTunnelMessage) IV - -```go -func (decrypted_tunnel_message DecryptedTunnelMessage) IV() crypto.TunnelIV -``` - -#### type DelayFactor - -```go -type DelayFactor byte -``` - - -#### type DeliveryInstructions - -```go -type DeliveryInstructions []byte -``` - - -#### func (DeliveryInstructions) Delay - -```go -func (delivery_instructions DeliveryInstructions) Delay() (delay_factor DelayFactor, err error) -``` -Return the DelayFactor if present and any errors encountered parsing the -DeliveryInstructions. - -#### func (DeliveryInstructions) DeliveryType - -```go -func (delivery_instructions DeliveryInstructions) DeliveryType() (byte, error) -``` -Return the delivery type for these DeliveryInstructions, can be of type -DT_LOCAL, DT_TUNNEL, DT_ROUTER, or DT_UNUSED. - -#### func (DeliveryInstructions) ExtendedOptions - -```go -func (delivery_instructions DeliveryInstructions) ExtendedOptions() (data []byte, err error) -``` -Return the Extended Options data if present, or an error if not present. -Extended Options in unimplemented in the Java router and the presence of -extended options will generate a warning. - -#### func (DeliveryInstructions) FragmentNumber - -```go -func (delivery_instructions DeliveryInstructions) FragmentNumber() (int, error) -``` -Read the integer stored in the 6-1 bits of a FOLLOW_ON_FRAGMENT's flag, -indicating the fragment number. - -#### func (DeliveryInstructions) FragmentSize - -```go -func (delivery_instructions DeliveryInstructions) FragmentSize() (frag_size uint16, err error) -``` -Return the size of the associated I2NP fragment and an error if the data is -unavailable. - -#### func (DeliveryInstructions) Fragmented - -```go -func (delivery_instructions DeliveryInstructions) Fragmented() (bool, error) -``` -Returns true if the Delivery Instructions are fragmented or false if the -following data contains the entire message - -#### func (DeliveryInstructions) HasDelay - -```go -func (delivery_instructions DeliveryInstructions) HasDelay() (bool, error) -``` -Check if the delay bit is set. This feature in unimplemented in the Java router. - -#### func (DeliveryInstructions) HasExtendedOptions - -```go -func (delivery_instructions DeliveryInstructions) HasExtendedOptions() (bool, error) -``` -Check if the extended options bit is set. This feature in unimplemented in the -Java router. - -#### func (DeliveryInstructions) HasHash - -```go -func (delivery_instructions DeliveryInstructions) HasHash() (bool, error) -``` - -#### func (DeliveryInstructions) HasTunnelID - -```go -func (delivery_instructions DeliveryInstructions) HasTunnelID() (bool, error) -``` -Check if the DeliveryInstructions is of type DT_TUNNEL. - -#### func (DeliveryInstructions) Hash - -```go -func (delivery_instructions DeliveryInstructions) Hash() (hash common.Hash, err error) -``` -Return the hash for these DeliveryInstructions, which varies by hash type. - - If the type is DT_TUNNEL, hash is the SHA256 of the gateway router, if - the type is DT_ROUTER it is the SHA256 of the router. - -#### func (DeliveryInstructions) LastFollowOnFragment - -```go -func (delivery_instructions DeliveryInstructions) LastFollowOnFragment() (bool, error) -``` -Read the value of the 0 bit of a FOLLOW_ON_FRAGMENT, which is set to 1 to -indicate the last fragment. - -#### func (DeliveryInstructions) MessageID - -```go -func (delivery_instructions DeliveryInstructions) MessageID() (msgid uint32, err error) -``` -Return the I2NP Message ID or 0 and an error if the data is not available for -this DeliveryInstructions. - -#### func (DeliveryInstructions) TunnelID - -```go -func (delivery_instructions DeliveryInstructions) TunnelID() (tunnel_id uint32, err error) -``` -Return the tunnel ID in this DeliveryInstructions or 0 and an error if the -DeliveryInstructions are not of type DT_TUNNEL. - -#### func (DeliveryInstructions) Type - -```go -func (delivery_instructions DeliveryInstructions) Type() (int, error) -``` -Return if the DeliveryInstructions are of type FIRST_FRAGMENT or -FOLLOW_ON_FRAGMENT. - -#### type DeliveryInstructionsWithFragment - -```go -type DeliveryInstructionsWithFragment struct { - DeliveryInstructions DeliveryInstructions - MessageFragment []byte -} -``` - - -#### type EncryptedTunnelMessage - -```go -type EncryptedTunnelMessage crypto.TunnelData -``` - - -#### func (EncryptedTunnelMessage) Data - -```go -func (tm EncryptedTunnelMessage) Data() crypto.TunnelIV -``` - -#### func (EncryptedTunnelMessage) ID - -```go -func (tm EncryptedTunnelMessage) ID() (tid TunnelID) -``` - -#### func (EncryptedTunnelMessage) IV - -```go -func (tm EncryptedTunnelMessage) IV() crypto.TunnelIV -``` - -#### type Participant - -```go -type Participant struct { -} -``` - - -#### type Pool - -```go -type Pool struct{} -``` - -a pool of tunnels which we have created - -#### type TunnelID - -```go -type TunnelID uint32 -``` - -# tunnel --- - import "github.com/go-i2p/go-i2p/lib/tunnel" - -i2p garlic tunnel implementation - ![tunnel.svg](tunnel) +i2p garlic tunnel implementation + ## Usage ```go diff --git a/lib/tunnel/tunnel.svg b/lib/tunnel/tunnel.svg index 2aa7f58..ef1a97e 100644 --- a/lib/tunnel/tunnel.svg +++ b/lib/tunnel/tunnel.svg @@ -4,1300 +4,1430 @@ - - + + gocallvis - + cluster_focus - -tunnel - - -cluster_github.com/sirupsen/logrus - - -logrus - - - - -cluster_*github.com/sirupsen/logrus.Logger - - -(*Logger) - - - - -cluster_github.com/samber/oops - - -oops - - + +tunnel -cluster_github.com/go-i2p/logger - - -logger - - - - -cluster_*github.com/go-i2p/logger.Logger - - -(*Logger) +cluster_github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions + + +(DeliveryInstructions) -cluster_github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions - - -(DeliveryInstructions) +cluster_github.com/go-i2p/go-i2p/lib/tunnel.DecryptedTunnelMessage + + +(DecryptedTunnelMessage) -cluster_github.com/go-i2p/go-i2p/lib/tunnel.DecryptedTunnelMessage - - -(DecryptedTunnelMessage) - - - - -cluster_github.com/go-i2p/go-i2p/lib/common/data - - -data +cluster_github.com/go-i2p/go-i2p/lib/common/data.Integer + + +(Integer) -cluster_github.com/go-i2p/go-i2p/lib/common/data.Integer - - -(Integer) +cluster_*github.com/sirupsen/logrus.Logger + + +(*Logger) - - -github.com/go-i2p/go-i2p/lib/tunnel.init - - -init - - - - - -github.com/go-i2p/logger.GetGoI2PLogger - - -GetGoI2PLogger - - - - - -github.com/go-i2p/go-i2p/lib/tunnel.init->github.com/go-i2p/logger.GetGoI2PLogger - - - - - - - - -github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendMessageID - - -maybeAppendMessageID - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType - - -DeliveryType - - - - - -github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendMessageID->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasDelay - - -HasDelay - - - - - -github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendMessageID->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasDelay - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Fragmented - - -Fragmented - - - - - -github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendMessageID->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Fragmented - - - - - - - - -(*github.com/go-i2p/logger.Logger).Error - - -Error - - - - - -github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendMessageID->(*github.com/go-i2p/logger.Logger).Error - - - + +cluster_*github.com/go-i2p/logger.Logger + + +(*Logger) - + github.com/samber/oops.Errorf - - -Errorf + + +oops +Errorf - - -github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendMessageID->github.com/samber/oops.Errorf - - - + + +github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendExtendedOptions + + +maybeAppendExtendedOptions + + + + + +(*github.com/go-i2p/logger.Logger).WithField + + +logger +WithField + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendExtendedOptions->(*github.com/go-i2p/logger.Logger).WithField + + + - + (*github.com/sirupsen/logrus.Logger).Debug - - -Debug + + +logrus +Debug - - -github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendMessageID->(*github.com/sirupsen/logrus.Logger).Debug - - - + + +github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendExtendedOptions->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + +data +Int + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendExtendedOptions->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).extended_options_index + + +extended_options_index + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendExtendedOptions->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).extended_options_index + + + github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendHash - - -maybeAppendHash - - - - - -github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendHash->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasHash - - -HasHash - - - - - -github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendHash->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasHash - - - + + +maybeAppendHash - + github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendHash->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType + + +DeliveryType + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendHash->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasHash + + +HasHash + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendHash->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasHash + + + + + + + -github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions - - -readDeliveryInstructions +github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendSize + + +maybeAppendSize - - -github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions->github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendMessageID - - - + + +github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendSize->github.com/samber/oops.Errorf + + + - - -github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions->github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendHash - - - + + +(*github.com/go-i2p/logger.Logger).Error + + +logger +Error + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendSize->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendSize->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendSize->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendSize->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).extended_options_index + + + github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendTunnelID - - -maybeAppendTunnelID - - - - - -github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions->github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendTunnelID - - - - - - - - -github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendDelay - - -maybeAppendDelay - - - - - -github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions->github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendDelay - - - - - - - - -github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendExtendedOptions - - -maybeAppendExtendedOptions - - - - - -github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions->github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendExtendedOptions - - - - - - - - -github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendSize - - -maybeAppendSize - - - - - -github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions->github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendSize - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Type - - -Type - - - - - -github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Type - - - - - - - - -github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(*github.com/go-i2p/logger.Logger).WithError - - -WithError - - - - - -github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(*github.com/go-i2p/logger.Logger).WithFields - - -WithFields - - - - - -github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions->github.com/samber/oops.Errorf - - - - - - - - -github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).TunnelID - - -TunnelID - - - - - -github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendTunnelID->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).TunnelID - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasTunnelID - - -HasTunnelID - - - - - -github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendTunnelID->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasTunnelID - - - + + +maybeAppendTunnelID - + github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendTunnelID->(*github.com/go-i2p/logger.Logger).Error - - - + + + + + + + + +(*github.com/go-i2p/logger.Logger).WithError + + +logger +WithError - + github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendTunnelID->(*github.com/go-i2p/logger.Logger).WithError - - - + + + - + github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendTunnelID->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - - -github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendDelay->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).TunnelID + + +TunnelID - - -github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendDelay->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasHash - - - + + +github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendTunnelID->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).TunnelID + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Hash - - -Hash + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasTunnelID + + +HasTunnelID - - -github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendDelay->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Hash - - - + + +github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendTunnelID->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasTunnelID + + + + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions + + +readDeliveryInstructions + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions->github.com/samber/oops.Errorf + + + + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions->github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendExtendedOptions + + + + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions->github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendHash + + + + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions->github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendSize + + + + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions->github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendTunnelID + + + + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendDelay + + +maybeAppendDelay + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions->github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendDelay + + + + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendMessageID + + +maybeAppendMessageID + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions->github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendMessageID + + + + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(*github.com/go-i2p/logger.Logger).WithFields + + +logger +WithFields + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Type + + +Type + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Type + + + - + github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendDelay->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - - -(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - -Int + + +github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendDelay->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType + + + - - -github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendExtendedOptions->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - + + +github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendDelay->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasHash + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).extended_options_index - - -extended_options_index + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Hash + + +Hash - + + +github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendDelay->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Hash + + + + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendMessageID->github.com/samber/oops.Errorf + + + + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendMessageID->(*github.com/go-i2p/logger.Logger).Error + + + + + + + -github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendExtendedOptions->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).extended_options_index - - - +github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendMessageID->(*github.com/sirupsen/logrus.Logger).Debug + + + - - -(*github.com/go-i2p/logger.Logger).WithField - - -WithField + + +github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendMessageID->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType + + + - - -github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendExtendedOptions->(*github.com/go-i2p/logger.Logger).WithField - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Fragmented + + +Fragmented - - -github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendExtendedOptions->(*github.com/sirupsen/logrus.Logger).Debug - - - + + +github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendMessageID->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Fragmented + + + - - -github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendSize->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasDelay + + +HasDelay - - -github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendSize->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).extended_options_index - - - + + +github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendMessageID->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasDelay + + + - - -github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendSize->(*github.com/go-i2p/logger.Logger).Error - - - + + +github.com/go-i2p/go-i2p/lib/tunnel.init + + +init - - -github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendSize->github.com/samber/oops.Errorf - - - - - - - - -github.com/go-i2p/go-i2p/lib/tunnel.maybeAppendSize->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - + -(github.com/go-i2p/go-i2p/lib/tunnel.DecryptedTunnelMessage).deliveryInstructionData - - -deliveryInstructionData +github.com/go-i2p/logger.GetGoI2PLogger + + +logger +GetGoI2PLogger + + + + + +github.com/go-i2p/go-i2p/lib/tunnel.init->github.com/go-i2p/logger.GetGoI2PLogger + + + - + (*github.com/go-i2p/logger.Logger).Warn - - -Warn + + +logger +Warn - - -(github.com/go-i2p/go-i2p/lib/tunnel.DecryptedTunnelMessage).deliveryInstructionData->(*github.com/go-i2p/logger.Logger).Warn - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DecryptedTunnelMessage).deliveryInstructionData + + +deliveryInstructionData - + (github.com/go-i2p/go-i2p/lib/tunnel.DecryptedTunnelMessage).deliveryInstructionData->(*github.com/go-i2p/logger.Logger).WithField - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DecryptedTunnelMessage).deliveryInstructionData->(*github.com/go-i2p/logger.Logger).Warn + + + - + (github.com/go-i2p/go-i2p/lib/tunnel.DecryptedTunnelMessage).deliveryInstructionData->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - + (github.com/go-i2p/go-i2p/lib/tunnel.DecryptedTunnelMessage).DeliveryInstructionsWithFragments - - -DeliveryInstructionsWithFragments + + +DeliveryInstructionsWithFragments - + (github.com/go-i2p/go-i2p/lib/tunnel.DecryptedTunnelMessage).DeliveryInstructionsWithFragments->github.com/go-i2p/go-i2p/lib/tunnel.readDeliveryInstructions - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DecryptedTunnelMessage).DeliveryInstructionsWithFragments->(github.com/go-i2p/go-i2p/lib/tunnel.DecryptedTunnelMessage).deliveryInstructionData - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentSize - - -FragmentSize - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DecryptedTunnelMessage).DeliveryInstructionsWithFragments->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentSize - - - + + + - + (github.com/go-i2p/go-i2p/lib/tunnel.DecryptedTunnelMessage).DeliveryInstructionsWithFragments->(*github.com/go-i2p/logger.Logger).Error - - - + + + - -(github.com/go-i2p/go-i2p/lib/tunnel.DecryptedTunnelMessage).DeliveryInstructionsWithFragments->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentSize->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Type - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).fragment_size_index - - -fragment_size_index - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentSize->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).fragment_size_index - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentSize->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentSize->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentSize->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentSize->github.com/samber/oops.Errorf - - - +(github.com/go-i2p/go-i2p/lib/tunnel.DecryptedTunnelMessage).DeliveryInstructionsWithFragments->(*github.com/go-i2p/logger.Logger).WithFields + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentSize->(*github.com/sirupsen/logrus.Logger).Debug - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DecryptedTunnelMessage).DeliveryInstructionsWithFragments->(github.com/go-i2p/go-i2p/lib/tunnel.DecryptedTunnelMessage).deliveryInstructionData + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Type->(*github.com/go-i2p/logger.Logger).Error - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentSize + + +FragmentSize + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DecryptedTunnelMessage).DeliveryInstructionsWithFragments->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentSize + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentNumber + + +FragmentNumber + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentNumber->github.com/samber/oops.Errorf + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentNumber->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentNumber->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentNumber->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentNumber->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentNumber->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentNumber->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Type + + + - + (github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Type->github.com/samber/oops.Errorf - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Type->(*github.com/go-i2p/logger.Logger).Error + + + - + (github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Type->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).fragment_size_index->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).TunnelID->github.com/samber/oops.Errorf + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).fragment_size_index->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasDelay - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).TunnelID->(*github.com/go-i2p/logger.Logger).Error + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).MessageID - - -MessageID + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).TunnelID->(*github.com/go-i2p/logger.Logger).WithError + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).fragment_size_index->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).MessageID - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).TunnelID->(*github.com/go-i2p/logger.Logger).WithField + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasExtendedOptions - - -HasExtendedOptions - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).fragment_size_index->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasExtendedOptions - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).ExtendedOptions - - -ExtendedOptions - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).fragment_size_index->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).ExtendedOptions - - - - - - - + -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).fragment_size_index->(*github.com/go-i2p/logger.Logger).WithField - - - +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).TunnelID->(*github.com/sirupsen/logrus.Logger).Debug + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).fragment_size_index->(*github.com/go-i2p/logger.Logger).Error - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).TunnelID->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasTunnelID + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).fragment_size_index->(*github.com/go-i2p/logger.Logger).WithError - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasTunnelID->(*github.com/go-i2p/logger.Logger).Error + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).fragment_size_index->(*github.com/sirupsen/logrus.Logger).Debug - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasTunnelID->(*github.com/go-i2p/logger.Logger).WithError + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType->(*github.com/go-i2p/logger.Logger).WithField - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasTunnelID->(*github.com/go-i2p/logger.Logger).WithField + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType->(*github.com/go-i2p/logger.Logger).Error - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasTunnelID->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasTunnelID->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType + + + - + (github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType->github.com/samber/oops.Errorf - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType->(*github.com/go-i2p/logger.Logger).WithField + + + - + (github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasDelay->(*github.com/go-i2p/logger.Logger).Warn - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasDelay->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasDelay->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasDelay->(*github.com/go-i2p/logger.Logger).WithFields - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasDelay->github.com/samber/oops.Errorf - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasDelay->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).MessageID->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Type - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).message_id_index - - -message_id_index - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).MessageID->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).message_id_index - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).MessageID->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).MessageID->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).MessageID->(*github.com/go-i2p/logger.Logger).WithError - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).MessageID + + +MessageID - + (github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).MessageID->github.com/samber/oops.Errorf - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).MessageID->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).MessageID->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).MessageID->(*github.com/go-i2p/logger.Logger).WithField + + + - + (github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).MessageID->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - + -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).message_id_index->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType - - - +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).MessageID->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Type + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).message_id_index->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasDelay - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).message_id_index + + +message_id_index - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).message_id_index->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Fragmented - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).message_id_index->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).message_id_index->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).message_id_index->(*github.com/go-i2p/logger.Logger).WithError - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).MessageID->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).message_id_index + + + - + (github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).message_id_index->github.com/samber/oops.Errorf - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).message_id_index->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).message_id_index->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).message_id_index->(*github.com/go-i2p/logger.Logger).WithField + + + - + (github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).message_id_index->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Fragmented->(*github.com/go-i2p/logger.Logger).WithField - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).message_id_index->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Fragmented->(*github.com/go-i2p/logger.Logger).Error - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).message_id_index->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Fragmented + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).message_id_index->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasDelay + + + - + (github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Fragmented->github.com/samber/oops.Errorf - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Fragmented->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Fragmented->(*github.com/go-i2p/logger.Logger).WithField + + + - + (github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Fragmented->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasExtendedOptions->(*github.com/go-i2p/logger.Logger).Warn - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasDelay->github.com/samber/oops.Errorf + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasExtendedOptions->(*github.com/go-i2p/logger.Logger).WithField - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasDelay->(*github.com/go-i2p/logger.Logger).Error + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasExtendedOptions->(*github.com/go-i2p/logger.Logger).Error - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasDelay->(*github.com/go-i2p/logger.Logger).WithField + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasExtendedOptions->(*github.com/go-i2p/logger.Logger).WithFields - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasDelay->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasDelay->(*github.com/go-i2p/logger.Logger).Warn + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasDelay->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).LastFollowOnFragment + + +LastFollowOnFragment + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).LastFollowOnFragment->github.com/samber/oops.Errorf + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).LastFollowOnFragment->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).LastFollowOnFragment->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).LastFollowOnFragment->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).LastFollowOnFragment->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).LastFollowOnFragment->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Type + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).extended_options_index->github.com/samber/oops.Errorf + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).extended_options_index->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).extended_options_index->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).extended_options_index->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).extended_options_index->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).extended_options_index->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).extended_options_index->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).MessageID + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).extended_options_index->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasDelay + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasExtendedOptions + + +HasExtendedOptions + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).extended_options_index->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasExtendedOptions + + + - + (github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasExtendedOptions->github.com/samber/oops.Errorf - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasExtendedOptions->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasExtendedOptions->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasExtendedOptions->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasExtendedOptions->(*github.com/go-i2p/logger.Logger).Warn + + + @@ -1305,584 +1435,431 @@ (github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasExtendedOptions->(*github.com/sirupsen/logrus.Logger).Debug - - + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).ExtendedOptions->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentSize->github.com/samber/oops.Errorf + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).ExtendedOptions->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasExtendedOptions - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentSize->(*github.com/go-i2p/logger.Logger).Error + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).ExtendedOptions->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).extended_options_index - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentSize->(*github.com/go-i2p/logger.Logger).WithError + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).ExtendedOptions->(*github.com/go-i2p/logger.Logger).WithField - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentSize->(*github.com/go-i2p/logger.Logger).WithField + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).ExtendedOptions->(*github.com/go-i2p/logger.Logger).Error - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentSize->(*github.com/sirupsen/logrus.Logger).Debug + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).ExtendedOptions->(*github.com/go-i2p/logger.Logger).WithError - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentSize->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Type + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).fragment_size_index + + +fragment_size_index + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentSize->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).fragment_size_index + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).fragment_size_index->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).fragment_size_index->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).fragment_size_index->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).fragment_size_index->(*github.com/sirupsen/logrus.Logger).Debug + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).fragment_size_index->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).fragment_size_index->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).MessageID + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).fragment_size_index->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasDelay + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).fragment_size_index->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasExtendedOptions + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).ExtendedOptions + + +ExtendedOptions + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).fragment_size_index->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).ExtendedOptions + + + - + (github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).ExtendedOptions->github.com/samber/oops.Errorf - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).ExtendedOptions->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).ExtendedOptions->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).ExtendedOptions->(*github.com/go-i2p/logger.Logger).WithField + + + - + (github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).ExtendedOptions->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).extended_options_index->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).ExtendedOptions->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).extended_options_index->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasDelay - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).extended_options_index->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).MessageID - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).extended_options_index->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasExtendedOptions - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).extended_options_index->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).extended_options_index->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).extended_options_index->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).extended_options_index->github.com/samber/oops.Errorf - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).extended_options_index->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).TunnelID->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasTunnelID - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).TunnelID->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).TunnelID->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).TunnelID->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).TunnelID->github.com/samber/oops.Errorf - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).TunnelID->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasTunnelID->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasTunnelID->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasTunnelID->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasTunnelID->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasTunnelID->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - + -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasHash->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType - - - +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).ExtendedOptions->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).extended_options_index + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasHash->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasHash->(*github.com/go-i2p/logger.Logger).WithError - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).ExtendedOptions->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasExtendedOptions + + + - + (github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasHash->github.com/samber/oops.Errorf - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasHash->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasHash->(*github.com/go-i2p/logger.Logger).WithError + + + - + (github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasHash->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Hash->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Hash->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Hash->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Hash->(*github.com/go-i2p/logger.Logger).WithError - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasHash->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType + + + - + (github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Hash->github.com/samber/oops.Errorf - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Hash->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Hash->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Hash->(*github.com/go-i2p/logger.Logger).WithField + + + - + (github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Hash->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentNumber - - -FragmentNumber - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentNumber->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentNumber->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Type - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentNumber->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentNumber->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentNumber->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentNumber->github.com/samber/oops.Errorf - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).FragmentNumber->(*github.com/sirupsen/logrus.Logger).Debug - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).LastFollowOnFragment - - -LastFollowOnFragment - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).LastFollowOnFragment->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Type - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).LastFollowOnFragment->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).LastFollowOnFragment->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).LastFollowOnFragment->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).LastFollowOnFragment->github.com/samber/oops.Errorf - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).LastFollowOnFragment->(*github.com/sirupsen/logrus.Logger).Debug - - - + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Hash->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType + + + - + (github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Delay - - -Delay - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Delay->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Delay->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasDelay - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Delay->(*github.com/go-i2p/logger.Logger).Warn - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Delay->(*github.com/go-i2p/logger.Logger).WithField - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Delay->(*github.com/go-i2p/logger.Logger).Error - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Delay->(*github.com/go-i2p/logger.Logger).WithError - - - - - - - - -(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Delay->(*github.com/go-i2p/logger.Logger).WithFields - - - + + +Delay - + (github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Delay->github.com/samber/oops.Errorf - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Delay->(*github.com/go-i2p/logger.Logger).Error + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Delay->(*github.com/go-i2p/logger.Logger).WithError + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Delay->(*github.com/go-i2p/logger.Logger).WithField + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Delay->(*github.com/go-i2p/logger.Logger).WithFields + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Delay->(*github.com/go-i2p/logger.Logger).Warn + + + - + (github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Delay->(*github.com/sirupsen/logrus.Logger).Debug - - - + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Delay->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).DeliveryType + + + + + + + + +(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).Delay->(github.com/go-i2p/go-i2p/lib/tunnel.DeliveryInstructions).HasDelay + + + diff --git a/lib/util/doc.md b/lib/util/README.md similarity index 52% rename from lib/util/doc.md rename to lib/util/README.md index 15e9cd6..c1987dc 100644 --- a/lib/util/doc.md +++ b/lib/util/README.md @@ -2,50 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/util" - -## Usage - -#### func CheckFileAge - -```go -func CheckFileAge(fpath string, maxAge int) bool -``` -Check if a file is more than maxAge minutes old returns false if - -#### func CheckFileExists - -```go -func CheckFileExists(fpath string) bool -``` -Check if a file exists and is readable etc returns false if not - -#### func CloseAll - -```go -func CloseAll() -``` - -#### func Panicf - -```go -func Panicf(format string, args ...interface{}) -``` -Panicf allows passing formated string to panic() - -#### func RegisterCloser - -```go -func RegisterCloser(c io.Closer) -``` - -# util --- - import "github.com/go-i2p/go-i2p/lib/util" - - - ![util.svg](util) + + ## Usage #### func CheckFileAge diff --git a/lib/util/signals/doc.md b/lib/util/signals/README.md similarity index 55% rename from lib/util/signals/doc.md rename to lib/util/signals/README.md index 9604832..748a9b5 100644 --- a/lib/util/signals/doc.md +++ b/lib/util/signals/README.md @@ -2,41 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/util/signals" - -## Usage - -#### func Handle - -```go -func Handle() -``` - -#### func RegisterInterruptHandler - -```go -func RegisterInterruptHandler(f Handler) -``` - -#### func RegisterReloadHandler - -```go -func RegisterReloadHandler(f Handler) -``` - -#### type Handler - -```go -type Handler func() -``` - -# signals --- - import "github.com/go-i2p/go-i2p/lib/util/signals" - - - ![signals.svg](signals) + + ## Usage #### func Handle diff --git a/lib/util/time/sntp/doc.md b/lib/util/time/sntp/README.md similarity index 50% rename from lib/util/time/sntp/doc.md rename to lib/util/time/sntp/README.md index ef7c8b2..868249e 100644 --- a/lib/util/time/sntp/doc.md +++ b/lib/util/time/sntp/README.md @@ -2,126 +2,10 @@ -- import "github.com/go-i2p/go-i2p/lib/util/time/sntp" - -## Usage - -#### type DefaultNTPClient - -```go -type DefaultNTPClient struct{} -``` - - -#### func (*DefaultNTPClient) QueryWithOptions - -```go -func (c *DefaultNTPClient) QueryWithOptions(host string, options ntp.QueryOptions) (*ntp.Response, error) -``` - -#### type NTPClient - -```go -type NTPClient interface { - QueryWithOptions(host string, options ntp.QueryOptions) (*ntp.Response, error) -} -``` - - -#### type RouterTimestamper - -```go -type RouterTimestamper struct { -} -``` - - -#### func NewRouterTimestamper - -```go -func NewRouterTimestamper(client NTPClient) *RouterTimestamper -``` - -#### func (*RouterTimestamper) AddListener - -```go -func (rt *RouterTimestamper) AddListener(listener UpdateListener) -``` - -#### func (*RouterTimestamper) GetCurrentTime - -```go -func (rt *RouterTimestamper) GetCurrentTime() time.Time -``` - -#### func (*RouterTimestamper) RemoveListener - -```go -func (rt *RouterTimestamper) RemoveListener(listener UpdateListener) -``` - -#### func (*RouterTimestamper) Start - -```go -func (rt *RouterTimestamper) Start() -``` - -#### func (*RouterTimestamper) Stop - -```go -func (rt *RouterTimestamper) Stop() -``` - -#### func (*RouterTimestamper) TimestampNow - -```go -func (rt *RouterTimestamper) TimestampNow() -``` - -#### func (*RouterTimestamper) WaitForInitialization - -```go -func (rt *RouterTimestamper) WaitForInitialization() -``` - -#### type UpdateListener - -```go -type UpdateListener interface { - SetNow(now time.Time, stratum uint8) -} -``` - -UpdateListener is an interface that listeners must implement to receive time -updates. - -#### type Zones - -```go -type Zones struct { -} -``` - - -#### func NewZones - -```go -func NewZones() *Zones -``` - -#### func (*Zones) GetZone - -```go -func (z *Zones) GetZone(countryCode string) string -``` - -# sntp --- - import "github.com/go-i2p/go-i2p/lib/util/time/sntp" - - - ![sntp.svg](sntp) + + ## Usage #### type DefaultNTPClient diff --git a/lib/util/time/sntp/sntp.svg b/lib/util/time/sntp/sntp.svg index 8f2a941..cbaa5ba 100644 --- a/lib/util/time/sntp/sntp.svg +++ b/lib/util/time/sntp/sntp.svg @@ -4,72 +4,64 @@ - - + + gocallvis - + cluster_focus - -sntp - - -cluster_github.com/beevik/ntp - - -ntp - - + +sntp cluster_*github.com/go-i2p/go-i2p/lib/util/time/sntp.Zones - -(*Zones) + +(*Zones) cluster_*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper - -(*RouterTimestamper) + +(*RouterTimestamper) cluster_*github.com/go-i2p/go-i2p/lib/util/time/sntp.DefaultNTPClient - -(*DefaultNTPClient) - - - - - -github.com/go-i2p/go-i2p/lib/util/time/sntp.getLocalCountryCode - - -getLocalCountryCode - - - - - -github.com/go-i2p/go-i2p/lib/util/time/sntp.checkIPv6Connectivity - - -checkIPv6Connectivity + +(*DefaultNTPClient) - + github.com/go-i2p/go-i2p/lib/util/time/sntp.absDuration - - -absDuration + + +absDuration + + + + + +github.com/go-i2p/go-i2p/lib/util/time/sntp.getLocalCountryCode + + +getLocalCountryCode + + + + + +github.com/go-i2p/go-i2p/lib/util/time/sntp.checkIPv6Connectivity + + +checkIPv6Connectivity @@ -77,89 +69,126 @@ github.com/go-i2p/go-i2p/lib/util/time/sntp.NewZones - -NewZones + +NewZones - + (*github.com/go-i2p/go-i2p/lib/util/time/sntp.Zones).initialize - - -initialize + + +initialize - + github.com/go-i2p/go-i2p/lib/util/time/sntp.NewZones->(*github.com/go-i2p/go-i2p/lib/util/time/sntp.Zones).initialize - - - + + + github.com/go-i2p/go-i2p/lib/util/time/sntp.NewRouterTimestamper - - -NewRouterTimestamper + + +NewRouterTimestamper - + github.com/go-i2p/go-i2p/lib/util/time/sntp.NewRouterTimestamper->github.com/go-i2p/go-i2p/lib/util/time/sntp.NewZones - - - + + + - + (*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).updateConfig - - -updateConfig + + +updateConfig - + github.com/go-i2p/go-i2p/lib/util/time/sntp.NewRouterTimestamper->(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).updateConfig - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/util/time/sntp.DefaultNTPClient).QueryWithOptions - - -QueryWithOptions + + + - + github.com/beevik/ntp.QueryWithOptions - - -QueryWithOptions + + +ntp +QueryWithOptions + + + + + +(*github.com/go-i2p/go-i2p/lib/util/time/sntp.DefaultNTPClient).QueryWithOptions + + +QueryWithOptions - + (*github.com/go-i2p/go-i2p/lib/util/time/sntp.DefaultNTPClient).QueryWithOptions->github.com/beevik/ntp.QueryWithOptions - - - + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).queryTime + + +queryTime + + + + + +(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).queryTime->github.com/go-i2p/go-i2p/lib/util/time/sntp.absDuration + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).stampTime + + +stampTime + + + + + +(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).queryTime->(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).stampTime + + + @@ -167,237 +196,201 @@ (*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).updateConfig->github.com/go-i2p/go-i2p/lib/util/time/sntp.getLocalCountryCode - - + + - + (*github.com/go-i2p/go-i2p/lib/util/time/sntp.Zones).GetZone - - -GetZone + + +GetZone - + (*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).updateConfig->(*github.com/go-i2p/go-i2p/lib/util/time/sntp.Zones).GetZone - - - + + + - + (*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery - - -performTimeQuery + + +performTimeQuery - + (*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery->github.com/go-i2p/go-i2p/lib/util/time/sntp.checkIPv6Connectivity - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery->(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).updateConfig - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).queryTime - - -queryTime + + + - + (*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery->(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).queryTime - - - + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery->(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).updateConfig + + + - + (*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).secureRandBool - - -secureRandBool + + +secureRandBool - + (*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery->(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).secureRandBool - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).queryTime->github.com/go-i2p/go-i2p/lib/util/time/sntp.absDuration - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).stampTime - - -stampTime - - - - - -(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).queryTime->(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).stampTime - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).runOnce - - -runOnce - - - - - -(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).runOnce->(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).TimestampNow - - -TimestampNow - - - - - -(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).TimestampNow->(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).runOnce - - - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime - - -GetCurrentTime - - - - - -(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime->(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).TimestampNow - - - - - - - - -(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).validateResponse - - -validateResponse - - - - - -(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).validateResponse->github.com/go-i2p/go-i2p/lib/util/time/sntp.absDuration - - - + + + - + (*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).run - - -run + + +run - + (*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).run->(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery - - - + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).runOnce + + +runOnce + + + + + +(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).runOnce->(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).TimestampNow + + +TimestampNow + + + + + +(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).TimestampNow->(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).runOnce + + + + + - + (*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).Start - - -Start + + +Start - + (*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).Start->(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).run - - - - - + + + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).validateResponse + + +validateResponse + + + + + +(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).validateResponse->github.com/go-i2p/go-i2p/lib/util/time/sntp.absDuration + + + + + + + + +(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime + + +GetCurrentTime + + + + + +(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime->(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).TimestampNow + + + - + (*github.com/go-i2p/go-i2p/lib/util/time/sntp.Zones).readContinentFile - - -readContinentFile + + +readContinentFile @@ -405,8 +398,8 @@ (*github.com/go-i2p/go-i2p/lib/util/time/sntp.Zones).initialize->(*github.com/go-i2p/go-i2p/lib/util/time/sntp.Zones).readContinentFile - - + +