Documentation ¶
Index ¶
- Variables
- func ComposeInitiatorHandshakeMessage(s noise.DHKey, rs []byte, payload []byte, ePrivate []byte) (negData, msg []byte, state *noise.HandshakeState, err error)
- func NewNoiseTransportSession(ri router_info.RouterInfo, socket net.Conn) (transport.TransportSession, error)
- type NoiseSession
- func (s *NoiseSession) Close() error
- func (s *NoiseSession) LocalAddr() net.Addr
- func (s *NoiseSession) QueueSendI2NP(msg i2np.I2NPMessage)
- func (*NoiseSession) Read(b []byte) (n int, err error)
- func (s *NoiseSession) ReadNextI2NP() (i2np.I2NPMessage, error)
- func (*NoiseSession) RemoteAddr() net.Addr
- func (c *NoiseSession) RunClientHandshake() error
- func (s *NoiseSession) SendQueueSize() int
- func (*NoiseSession) SetDeadline(t time.Time) error
- func (*NoiseSession) SetReadDeadline(t time.Time) error
- func (*NoiseSession) SetWriteDeadline(t time.Time) error
- func (c *NoiseSession) Write(b []byte) (int, error)
- type NoiseTransport
- func (noopt *NoiseTransport) Accept() (net.Conn, error)
- func (noopt *NoiseTransport) Addr() net.Addr
- func (noopt *NoiseTransport) Close() error
- func (noopt *NoiseTransport) Compatable(routerInfo router_info.RouterInfo) bool
- func (noopt *NoiseTransport) GetSession(routerInfo router_info.RouterInfo) (transport.TransportSession, error)
- func (c *NoiseTransport) Handshake(routerInfo router_info.RouterInfo) error
- func (noopt *NoiseTransport) Name() string
- func (noopt *NoiseTransport) SetIdentity(ident router_identity.RouterIdentity) error
Constants ¶
This section is empty.
Variables ¶
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
var ExampleNoiseSession net.Conn = exampleNoiseSession.(*NoiseSession)
Functions ¶
func NewNoiseTransportSession ¶
func NewNoiseTransportSession(ri router_info.RouterInfo, socket net.Conn) (transport.TransportSession, error)
Types ¶
type NoiseSession ¶
type NoiseSession struct { *cb.Queue router_info.RouterInfo *noise.CipherState sync.Mutex *sync.Cond *NoiseTransport Conn net.Conn // contains filtered or unexported fields }
func (*NoiseSession) Close ¶
func (s *NoiseSession) Close() error
func (*NoiseSession) LocalAddr ¶
func (s *NoiseSession) LocalAddr() net.Addr
func (*NoiseSession) QueueSendI2NP ¶
func (s *NoiseSession) QueueSendI2NP(msg i2np.I2NPMessage)
func (*NoiseSession) Read ¶
func (*NoiseSession) Read(b []byte) (n int, err error)
Read implements net.Conn
func (*NoiseSession) ReadNextI2NP ¶
func (s *NoiseSession) ReadNextI2NP() (i2np.I2NPMessage, error)
func (*NoiseSession) RemoteAddr ¶
func (*NoiseSession) RemoteAddr() net.Addr
RemoteAddr implements net.Conn
func (*NoiseSession) RunClientHandshake ¶
func (c *NoiseSession) RunClientHandshake() error
func (*NoiseSession) SendQueueSize ¶
func (s *NoiseSession) SendQueueSize() int
func (*NoiseSession) SetDeadline ¶
func (*NoiseSession) SetDeadline(t time.Time) error
SetDeadline implements net.Conn
func (*NoiseSession) SetReadDeadline ¶
func (*NoiseSession) SetReadDeadline(t time.Time) error
SetReadDeadline implements net.Conn
func (*NoiseSession) SetWriteDeadline ¶
func (*NoiseSession) SetWriteDeadline(t time.Time) error
SetWriteDeadline implements net.Conn
type NoiseTransport ¶
type NoiseTransport struct { *noise.CipherState router_identity.RouterIdentity sync.Mutex Listener net.Listener // contains filtered or unexported fields }
func NewNoiseTransport ¶
func NewNoiseTransport(netSocket net.Listener) *NoiseTransport
func (*NoiseTransport) Addr ¶
func (noopt *NoiseTransport) Addr() net.Addr
func (*NoiseTransport) Close ¶
func (noopt *NoiseTransport) Close() error
close the transport cleanly blocks until done returns an error if one happens
func (*NoiseTransport) Compatable ¶
func (noopt *NoiseTransport) Compatable(routerInfo router_info.RouterInfo) bool
return true if a routerInfo is compatable with this transport
func (*NoiseTransport) GetSession ¶
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 ¶
func (c *NoiseTransport) Handshake(routerInfo router_info.RouterInfo) error
func (*NoiseTransport) Name ¶
func (noopt *NoiseTransport) Name() string
func (*NoiseTransport) SetIdentity ¶
func (noopt *NoiseTransport) SetIdentity(ident router_identity.RouterIdentity) error
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