Albirew/nyaa-pantsu
Archivé
1
0
Bifurcation 0
Ce dépôt a été archivé le 2022-05-07. Vous pouvez voir ses fichiers ou le cloner, mais pas ouvrir de ticket ou de demandes d'ajout, ni soumettre de changements.
nyaa-pantsu/vendor/github.com/majestrate/i2p-tools/lib/i2p/session.go

53 lignes
1 004 o
Go
Brut Vue normale Historique

package i2p
import (
"net"
)
// i2p network session
type Session interface {
// get session name
Name() string
// open a new control socket
// does handshaske
OpenControlSocket() (net.Conn, error)
// get printable b32.i2p address
B32Addr() string
// implements network.Network
Addr() net.Addr
// implements network.Network
Accept() (net.Conn, error)
// implements network.Session
Lookup(name string, port int) (net.Addr, error)
// lookup an i2p address
LookupI2P(name string) (I2PAddr, error)
// implements network.Network
Dial(n, a string) (net.Conn, error)
// dial out to a remote destination
DialI2P(a I2PAddr) (net.Conn, error)
// open the session, generate keys, start up destination etc
Open() error
// close the session
Close() error
}
// create a new i2p session
func NewSession(name, addr, keyfile string) Session {
return &samSession{
name: name,
addr: addr,
minversion: "3.0",
maxversion: "3.0",
keys: NewKeyfile(keyfile),
}
}