Documentation ¶
Index ¶
- Constants
- Variables
- type ConnectionPool
- func (c *ConnectionPool) AddConnection(ctx context.Context, addr, serverKey string) 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) Do(ctx context.Context, typeID int32, payload []byte) (*LiteResponse, error)
- func (c *ConnectionPool) SetOnDisconnect(cb OnDisconnectCallback)
- func (c *ConnectionPool) StickyContext(ctx context.Context) context.Context
- type DHTAddress
- type DHTAddressList
- type DHTConfig
- type DHTNode
- type DHTNodes
- type GlobalConfig
- type LiteRequest
- type LiteResponse
- type LiteserverConfig
- type OnDisconnectCallback
- type ServerID
- type ValidatorConfig
- type ValidatorHardfork
- type ValidatorInitBlock
- type ValidatorZeroState
Constants ¶
View Source
const ADNLQuery int32 = -1265895046
View Source
const ADNLQueryResponse int32 = 262964246
View Source
const LiteServerQuery int32 = 2039219935
View Source
const TCPPing int32 = 1292381082
View Source
const TCPPong int32 = -597034237
Variables ¶
View Source
var ErrNoActiveConnections = errors.New("no active connections")
View Source
var (
ErrNoConnections = errors.New("no connections established")
)
Functions ¶
This section is empty.
Types ¶
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
func (*ConnectionPool) AddConnection ¶ added in v1.0.0
func (c *ConnectionPool) AddConnection(ctx context.Context, addr, serverKey string) 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) Do ¶ added in v1.0.0
func (c *ConnectionPool) Do(ctx context.Context, typeID int32, payload []byte) (*LiteResponse, error)
Do - builds and executes 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
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 LiteRequest ¶
type LiteRequest struct { TypeID int32 QueryID []byte Data []byte RespChan chan *LiteResponse }
type LiteResponse ¶
type LiteserverConfig ¶ added in v1.0.0
type OnDisconnectCallback ¶ added in v0.2.0
type OnDisconnectCallback func(addr, key string)
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"` }
type ValidatorHardfork ¶ added in v1.0.0
type ValidatorInitBlock ¶ added in v1.0.0
Click to show internal directories.
Click to hide internal directories.