connectionpool

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 19, 2020 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConnectionPool

type ConnectionPool struct {
	// contains filtered or unexported fields
}

ConnectionPool stores all net.Connections and make them available to all users of net.Connection. There are two sources of connections - - Local connections that were created by local node (by calling GetConnection) - Remote connections that were provided by a networker impl. in a pub-sub manner

func NewConnectionPool

func NewConnectionPool(network networker, lPub p2pcrypto.PublicKey) *ConnectionPool

NewConnectionPool creates new ConnectionPool

func (*ConnectionPool) CloseConnection

func (cp *ConnectionPool) CloseConnection(key p2pcrypto.PublicKey)

func (*ConnectionPool) GetConnection

func (cp *ConnectionPool) GetConnection(address inet.Addr, remotePub p2pcrypto.PublicKey) (net.Connection, error)

GetConnection fetches or creates if don't exist a connection to the address which is associated with the remote public key

func (*ConnectionPool) GetConnectionIfExists

func (cp *ConnectionPool) GetConnectionIfExists(remotePub p2pcrypto.PublicKey) (net.Connection, error)

GetConnectionIfExists checks if the connection is exists or pending

func (*ConnectionPool) OnClosedConnection

func (cp *ConnectionPool) OnClosedConnection(cwe net.ConnectionWithErr)

func (*ConnectionPool) OnNewConnection

func (cp *ConnectionPool) OnNewConnection(nce net.NewConnectionEvent) error

func (*ConnectionPool) Shutdown

func (cp *ConnectionPool) Shutdown()

Shutdown gracefully shuts down the ConnectionPool: - Closes all open connections - Waits for all Dial routines to complete and unblock any routines waiting for GetConnection

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL