Documentation ¶
Index ¶
- Variables
- type ADNLRequest
- type ADNLResponse
- type ConnectionPool
- func (c *ConnectionPool) AddConnection(ctx context.Context, addr, serverKey string, clientKey ...ed25519.PrivateKey) error
- func (c *ConnectionPool) AddConnectionsFromConfig(ctx context.Context, config *GlobalConfig) error
- func (c *ConnectionPool) AddConnectionsFromConfigUrl(ctx context.Context, configUrl string) error
- func (c *ConnectionPool) DefaultReconnect(waitBeforeReconnect time.Duration, maxTries int) OnDisconnectCallback
- func (c *ConnectionPool) QueryADNL(ctx context.Context, request tl.Serializable, result tl.Serializable) error
- func (c *ConnectionPool) QueryLiteserver(ctx context.Context, request tl.Serializable, result tl.Serializable) error
- func (c *ConnectionPool) SetOnDisconnect(cb OnDisconnectCallback)
- func (c *ConnectionPool) StickyContext(ctx context.Context) context.Context
- func (c *ConnectionPool) StickyNodeID(ctx context.Context) uint32
- type DHTAddress
- type DHTAddressList
- type DHTConfig
- type DHTNode
- type DHTNodes
- type GlobalConfig
- type LiteServerQuery
- type LiteserverConfig
- type NetworkErr
- type OnDisconnectCallback
- type ServerID
- type TCPAuthenticate
- type TCPAuthenticationComplete
- type TCPAuthenticationNonce
- type TCPPing
- type TCPPong
- type ValidatorConfig
- type ValidatorHardfork
- type ValidatorInitBlock
- type ValidatorZeroState
Constants ¶
This section is empty.
Variables ¶
var ErrNoActiveConnections = errors.New("no active connections")
var (
ErrNoConnections = errors.New("no connections established")
)
Functions ¶
This section is empty.
Types ¶
type ADNLRequest ¶ added in v1.6.0
type ADNLRequest struct { QueryID []byte Data any RespChan chan *ADNLResponse }
type ADNLResponse ¶ added in v1.6.0
type ADNLResponse struct { Data tl.Serializable Err error }
type ConnectionPool ¶ added in v1.0.0
type ConnectionPool struct {
// contains filtered or unexported fields
}
func NewConnectionPool ¶ added in v1.0.0
func NewConnectionPool() *ConnectionPool
NewConnectionPool - ordinary pool to query liteserver
func NewConnectionPoolWithAuth ¶ added in v1.6.0
func NewConnectionPoolWithAuth(key ed25519.PrivateKey) *ConnectionPool
NewConnectionPoolWithAuth - will do TCP authorization after connection, can be used to communicate with storage-daemon
func (*ConnectionPool) AddConnection ¶ added in v1.0.0
func (c *ConnectionPool) AddConnection(ctx context.Context, addr, serverKey string, clientKey ...ed25519.PrivateKey) error
func (*ConnectionPool) AddConnectionsFromConfig ¶ added in v1.0.0
func (c *ConnectionPool) AddConnectionsFromConfig(ctx context.Context, config *GlobalConfig) error
func (*ConnectionPool) AddConnectionsFromConfigUrl ¶ added in v1.0.0
func (c *ConnectionPool) AddConnectionsFromConfigUrl(ctx context.Context, configUrl string) error
func (*ConnectionPool) DefaultReconnect ¶ added in v1.0.0
func (c *ConnectionPool) DefaultReconnect(waitBeforeReconnect time.Duration, maxTries int) OnDisconnectCallback
func (*ConnectionPool) QueryADNL ¶ added in v1.6.0
func (c *ConnectionPool) QueryADNL(ctx context.Context, request tl.Serializable, result tl.Serializable) error
QueryADNL - sends ADNL request to peer
func (*ConnectionPool) QueryLiteserver ¶ added in v1.6.0
func (c *ConnectionPool) QueryLiteserver(ctx context.Context, request tl.Serializable, result tl.Serializable) error
QueryLiteserver - sends request to liteserver
func (*ConnectionPool) SetOnDisconnect ¶ added in v1.0.0
func (c *ConnectionPool) SetOnDisconnect(cb OnDisconnectCallback)
func (*ConnectionPool) StickyContext ¶ added in v1.0.0
func (c *ConnectionPool) StickyContext(ctx context.Context) context.Context
StickyContext - bounds all requests with this context to the same lite-server node, if possible. This is useful when we are doing some requests which depends on each other.
For example: we requested MasterchainInfo from node A, and we are trying to request account with this block info from node B but node B don't have yet information about this block, so it can return error. If we use StickyContext, all requests where its passed will be routed to same node.
In case if sticky node goes down, default balancer will be used as fallback
func (*ConnectionPool) StickyNodeID ¶ added in v1.5.0
func (c *ConnectionPool) StickyNodeID(ctx context.Context) uint32
type DHTAddress ¶ added in v1.0.0
type DHTAddressList ¶ added in v1.0.0
type DHTNode ¶ added in v1.0.0
type DHTNode struct { Type string `json:"@type"` ID ServerID `json:"id"` AddrList DHTAddressList `json:"addr_list"` Version int `json:"version"` Signature string `json:"signature"` }
type GlobalConfig ¶ added in v1.0.0
type GlobalConfig struct { Type string `json:"@type"` DHT DHTConfig `json:"dht"` Liteservers []LiteserverConfig `json:"liteservers"` Validator ValidatorConfig `json:"validator"` }
func GetConfigFromUrl ¶ added in v1.0.0
func GetConfigFromUrl(ctx context.Context, url string) (*GlobalConfig, error)
type LiteServerQuery ¶
type LiteServerQuery struct {
Data any `tl:"bytes struct boxed"`
}
type LiteserverConfig ¶ added in v1.0.0
type NetworkErr ¶ added in v1.6.2
type NetworkErr struct {
// contains filtered or unexported fields
}
func (NetworkErr) Is ¶ added in v1.6.2
func (e NetworkErr) Is(err error) bool
func (NetworkErr) Unwrap ¶ added in v1.6.2
func (e NetworkErr) Unwrap() error
type OnDisconnectCallback ¶ added in v0.2.0
type OnDisconnectCallback func(addr, key string)
type TCPAuthenticate ¶ added in v1.6.0
type TCPAuthenticate struct {
Nonce []byte `tl:"bytes"`
}
type TCPAuthenticationComplete ¶ added in v1.6.0
type TCPAuthenticationNonce ¶ added in v1.6.0
type TCPAuthenticationNonce struct {
Nonce []byte `tl:"bytes"`
}
type ValidatorConfig ¶ added in v1.0.0
type ValidatorConfig struct { Type string `json:"@type"` ZeroState ValidatorZeroState `json:"zero_state"` InitBlock ValidatorInitBlock `json:"init_block"` Hardforks []ValidatorHardfork `json:"hardforks"` }