tendermint: github.com/tendermint/tendermint/abci/client Index | Files | Directories

package abcicli

import "github.com/tendermint/tendermint/abci/client"

Index

Package Files

client.go grpc_client.go local_client.go socket_client.go

type Callback Uses

type Callback func(*types.Request, *types.Response)

type Client Uses

type Client interface {
    service.Service

    SetResponseCallback(Callback)
    Error() error

    FlushAsync() *ReqRes
    EchoAsync(msg string) *ReqRes
    InfoAsync(types.RequestInfo) *ReqRes
    SetOptionAsync(types.RequestSetOption) *ReqRes
    DeliverTxAsync(types.RequestDeliverTx) *ReqRes
    CheckTxAsync(types.RequestCheckTx) *ReqRes
    QueryAsync(types.RequestQuery) *ReqRes
    CommitAsync() *ReqRes
    InitChainAsync(types.RequestInitChain) *ReqRes
    BeginBlockAsync(types.RequestBeginBlock) *ReqRes
    EndBlockAsync(types.RequestEndBlock) *ReqRes
    ListSnapshotsAsync(types.RequestListSnapshots) *ReqRes
    OfferSnapshotAsync(types.RequestOfferSnapshot) *ReqRes
    LoadSnapshotChunkAsync(types.RequestLoadSnapshotChunk) *ReqRes
    ApplySnapshotChunkAsync(types.RequestApplySnapshotChunk) *ReqRes

    FlushSync() error
    EchoSync(msg string) (*types.ResponseEcho, error)
    InfoSync(types.RequestInfo) (*types.ResponseInfo, error)
    SetOptionSync(types.RequestSetOption) (*types.ResponseSetOption, error)
    DeliverTxSync(types.RequestDeliverTx) (*types.ResponseDeliverTx, error)
    CheckTxSync(types.RequestCheckTx) (*types.ResponseCheckTx, error)
    QuerySync(types.RequestQuery) (*types.ResponseQuery, error)
    CommitSync() (*types.ResponseCommit, error)
    InitChainSync(types.RequestInitChain) (*types.ResponseInitChain, error)
    BeginBlockSync(types.RequestBeginBlock) (*types.ResponseBeginBlock, error)
    EndBlockSync(types.RequestEndBlock) (*types.ResponseEndBlock, error)
    ListSnapshotsSync(types.RequestListSnapshots) (*types.ResponseListSnapshots, error)
    OfferSnapshotSync(types.RequestOfferSnapshot) (*types.ResponseOfferSnapshot, error)
    LoadSnapshotChunkSync(types.RequestLoadSnapshotChunk) (*types.ResponseLoadSnapshotChunk, error)
    ApplySnapshotChunkSync(types.RequestApplySnapshotChunk) (*types.ResponseApplySnapshotChunk, error)
}

Client defines an interface for an ABCI client. All `Async` methods return a `ReqRes` object. All `Sync` methods return the appropriate protobuf ResponseXxx struct and an error. Note these are client errors, eg. ABCI socket connectivity issues. Application-related errors are reflected in response via ABCI error codes and logs.

func NewClient Uses

func NewClient(addr, transport string, mustConnect bool) (client Client, err error)

NewClient returns a new ABCI client of the specified transport type. It returns an error if the transport is not "socket" or "grpc"

func NewGRPCClient Uses

func NewGRPCClient(addr string, mustConnect bool) Client

func NewLocalClient Uses

func NewLocalClient(mtx *sync.Mutex, app types.Application) Client

func NewSocketClient Uses

func NewSocketClient(addr string, mustConnect bool) Client

type ReqRes Uses

type ReqRes struct {
    *types.Request
    *sync.WaitGroup
    *types.Response // Not set atomically, so be sure to use WaitGroup.
    // contains filtered or unexported fields
}

func NewReqRes Uses

func NewReqRes(req *types.Request) *ReqRes

func (*ReqRes) GetCallback Uses

func (reqRes *ReqRes) GetCallback() func(*types.Response)

func (*ReqRes) SetCallback Uses

func (reqRes *ReqRes) SetCallback(cb func(res *types.Response))

Sets the callback for this ReqRes atomically. If reqRes is already done, calls cb immediately. NOTE: reqRes.cb should not change if reqRes.done. NOTE: only one callback is supported.

func (*ReqRes) SetDone Uses

func (reqRes *ReqRes) SetDone()

NOTE: it should be safe to read reqRes.cb without locks after this.

Directories

PathSynopsis
mocks

Package abcicli imports 15 packages (graph) and is imported by 11 packages. Updated 2020-07-08. Refresh now. Tools for package owners.