|
|
- package proxy
-
- import (
- tmspcli "github.com/tendermint/tmsp/client"
- "github.com/tendermint/tmsp/types"
- )
-
- //----------------------------------------------------------------------------------------
- // Enforce which tmsp msgs can be sent on a connection at the type level
-
- type AppConnConsensus interface {
- SetResponseCallback(tmspcli.Callback)
- Error() error
-
- InitChainSync(validators []*types.Validator) (err error)
-
- BeginBlockSync(hash []byte, header *types.Header) (err error)
- AppendTxAsync(tx []byte) *tmspcli.ReqRes
- EndBlockSync(height uint64) (changedValidators []*types.Validator, err error)
- CommitSync() (res types.Result)
- }
-
- type AppConnMempool interface {
- SetResponseCallback(tmspcli.Callback)
- Error() error
-
- CheckTxAsync(tx []byte) *tmspcli.ReqRes
-
- FlushAsync() *tmspcli.ReqRes
- FlushSync() error
- }
-
- type AppConnQuery interface {
- Error() error
-
- EchoSync(string) (res types.Result)
- InfoSync() (types.Result, *types.TMSPInfo, *types.LastBlockInfo, *types.ConfigInfo)
- QuerySync(tx []byte) (res types.Result)
-
- // SetOptionSync(key string, value string) (res types.Result)
- }
-
- //-----------------------------------------------------------------------------------------
- // Implements AppConnConsensus (subset of tmspcli.Client)
-
- type appConnConsensus struct {
- appConn tmspcli.Client
- }
-
- func NewAppConnConsensus(appConn tmspcli.Client) *appConnConsensus {
- return &appConnConsensus{
- appConn: appConn,
- }
- }
-
- func (app *appConnConsensus) SetResponseCallback(cb tmspcli.Callback) {
- app.appConn.SetResponseCallback(cb)
- }
-
- func (app *appConnConsensus) Error() error {
- return app.appConn.Error()
- }
-
- func (app *appConnConsensus) InitChainSync(validators []*types.Validator) (err error) {
- return app.appConn.InitChainSync(validators)
- }
-
- func (app *appConnConsensus) BeginBlockSync(hash []byte, header *types.Header) (err error) {
- return app.appConn.BeginBlockSync(hash, header)
- }
-
- func (app *appConnConsensus) AppendTxAsync(tx []byte) *tmspcli.ReqRes {
- return app.appConn.AppendTxAsync(tx)
- }
-
- func (app *appConnConsensus) EndBlockSync(height uint64) (changedValidators []*types.Validator, err error) {
- return app.appConn.EndBlockSync(height)
- }
-
- func (app *appConnConsensus) CommitSync() (res types.Result) {
- return app.appConn.CommitSync()
- }
-
- //------------------------------------------------
- // Implements AppConnMempool (subset of tmspcli.Client)
-
- type appConnMempool struct {
- appConn tmspcli.Client
- }
-
- func NewAppConnMempool(appConn tmspcli.Client) *appConnMempool {
- return &appConnMempool{
- appConn: appConn,
- }
- }
-
- func (app *appConnMempool) SetResponseCallback(cb tmspcli.Callback) {
- app.appConn.SetResponseCallback(cb)
- }
-
- func (app *appConnMempool) Error() error {
- return app.appConn.Error()
- }
-
- func (app *appConnMempool) FlushAsync() *tmspcli.ReqRes {
- return app.appConn.FlushAsync()
- }
-
- func (app *appConnMempool) FlushSync() error {
- return app.appConn.FlushSync()
- }
-
- func (app *appConnMempool) CheckTxAsync(tx []byte) *tmspcli.ReqRes {
- return app.appConn.CheckTxAsync(tx)
- }
-
- //------------------------------------------------
- // Implements AppConnQuery (subset of tmspcli.Client)
-
- type appConnQuery struct {
- appConn tmspcli.Client
- }
-
- func NewAppConnQuery(appConn tmspcli.Client) *appConnQuery {
- return &appConnQuery{
- appConn: appConn,
- }
- }
-
- func (app *appConnQuery) Error() error {
- return app.appConn.Error()
- }
-
- func (app *appConnQuery) EchoSync(msg string) (res types.Result) {
- return app.appConn.EchoSync(msg)
- }
-
- func (app *appConnQuery) InfoSync() (types.Result, *types.TMSPInfo, *types.LastBlockInfo, *types.ConfigInfo) {
- return app.appConn.InfoSync()
- }
-
- func (app *appConnQuery) QuerySync(tx []byte) (res types.Result) {
- return app.appConn.QuerySync(tx)
- }
|