Replace SetEventsMode with SetOption
This commit is contained in:
parent
9a72da4fcd
commit
e40c4834a8
20
README.md
20
README.md
|
@ -34,16 +34,6 @@ TMSP is an asynchronous streaming protocol: message responses are written back a
|
|||
* __Usage__:<br/>
|
||||
Roll back to the last commit
|
||||
|
||||
#### SetEventsMode
|
||||
* __Arguments__:
|
||||
* `EventsMode (int8)`:
|
||||
* `EventsModeOff (0)`: Events are not reported. Used for mempool.
|
||||
* `EventsModeOn (1)`: Report events that are listened on.
|
||||
* __Returns__:
|
||||
* `RetCode (int8)`
|
||||
* __Usage__:<br/>
|
||||
Set event reporting mode for future transactions
|
||||
|
||||
#### AddListener
|
||||
* __Arguments__:
|
||||
* `EventKey (string)`
|
||||
|
@ -70,3 +60,13 @@ TMSP is an asynchronous streaming protocol: message responses are written back a
|
|||
* __Usage__:<br/>
|
||||
Return an array of strings about the application state. Application specific.
|
||||
|
||||
#### SetOption
|
||||
* __Arguments__:
|
||||
* `Key (string)`
|
||||
* `Value (string)`
|
||||
* __Returns__:
|
||||
* `RetCode (int8)`
|
||||
* __Usage__:<br/>
|
||||
Set application options. E.g. Key="mode", Value="mempool" for a mempool connection, or Key="mode", Value="consensus" for a consensus connection.
|
||||
Other options are application specific.
|
||||
|
||||
|
|
|
@ -51,6 +51,10 @@ func (dapp *DummyApplication) Info() []string {
|
|||
return []string{Fmt("size:%v", dapp.state.Size())}
|
||||
}
|
||||
|
||||
func (dapp *DummyApplication) SetOption(key string, value string) types.RetCode {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (dapp *DummyApplication) AppendTx(tx []byte) ([]types.Event, types.RetCode) {
|
||||
dapp.state.Set(tx, tx)
|
||||
return nil, 0
|
||||
|
@ -71,10 +75,6 @@ func (dapp *DummyApplication) Rollback() types.RetCode {
|
|||
return 0
|
||||
}
|
||||
|
||||
func (dapp *DummyApplication) SetEventsMode(mode types.EventsMode) types.RetCode {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (dapp *DummyApplication) AddListener(key string) types.RetCode {
|
||||
return 0
|
||||
}
|
||||
|
|
|
@ -77,6 +77,9 @@ func handleRequest(app types.Application, req types.Request, responses chan<- ty
|
|||
case types.RequestInfo:
|
||||
data := app.Info()
|
||||
responses <- types.ResponseInfo{data}
|
||||
case types.RequestSetOption:
|
||||
retCode := app.SetOption(req.Key, req.Value)
|
||||
responses <- types.ResponseSetOption{retCode}
|
||||
case types.RequestAppendTx:
|
||||
events, retCode := app.AppendTx(req.TxBytes)
|
||||
responses <- types.ResponseAppendTx{retCode}
|
||||
|
@ -92,9 +95,6 @@ func handleRequest(app types.Application, req types.Request, responses chan<- ty
|
|||
case types.RequestRollback:
|
||||
retCode := app.Rollback()
|
||||
responses <- types.ResponseRollback{retCode}
|
||||
case types.RequestSetEventsMode:
|
||||
retCode := app.SetEventsMode(req.EventsMode)
|
||||
responses <- types.ResponseSetEventsMode{retCode}
|
||||
case types.RequestAddListener:
|
||||
retCode := app.AddListener(req.EventKey)
|
||||
responses <- types.ResponseAddListener{retCode}
|
||||
|
|
|
@ -8,6 +8,9 @@ type Application interface {
|
|||
// Return application info
|
||||
Info() []string
|
||||
|
||||
// Set application option (e.g. mode=mempool, mode=consensus)
|
||||
SetOption(key string, value string) RetCode
|
||||
|
||||
// Append a tx, which may or may not get committed
|
||||
AppendTx(tx []byte) ([]Event, RetCode)
|
||||
|
||||
|
@ -20,9 +23,6 @@ type Application interface {
|
|||
// Rollback to the latest commit
|
||||
Rollback() RetCode
|
||||
|
||||
// Set events reporting mode
|
||||
SetEventsMode(mode EventsMode) RetCode
|
||||
|
||||
// Add event listener
|
||||
AddListener(key string) RetCode
|
||||
|
||||
|
|
|
@ -1,12 +1,5 @@
|
|||
package types
|
||||
|
||||
type EventsMode int8
|
||||
|
||||
const (
|
||||
EventsModeOff = EventsMode(0)
|
||||
EventsModeOn = EventsMode(1)
|
||||
)
|
||||
|
||||
type Event struct {
|
||||
Key string
|
||||
Data []byte
|
||||
|
|
|
@ -6,29 +6,31 @@ const (
|
|||
requestTypeEcho = byte(0x01)
|
||||
requestTypeFlush = byte(0x02)
|
||||
requestTypeInfo = byte(0x03)
|
||||
requestTypeSetOption = byte(0x04)
|
||||
// reserved for GetOption = byte(0x05)
|
||||
|
||||
responseTypeException = byte(0x10)
|
||||
responseTypeEcho = byte(0x11)
|
||||
responseTypeFlush = byte(0x12)
|
||||
responseTypeInfo = byte(0x13)
|
||||
responseTypeSetOption = byte(0x14)
|
||||
// reserved for GetOption = byte(0x15)
|
||||
|
||||
requestTypeAppendTx = byte(0x21)
|
||||
requestTypeGetHash = byte(0x22)
|
||||
requestTypeCommit = byte(0x23)
|
||||
requestTypeRollback = byte(0x24)
|
||||
requestTypeSetEventsMode = byte(0x25)
|
||||
requestTypeAddListener = byte(0x26)
|
||||
requestTypeRemListener = byte(0x27)
|
||||
// reserved for responseTypeEvent 0x28
|
||||
requestTypeAddListener = byte(0x25)
|
||||
requestTypeRemListener = byte(0x26)
|
||||
// reserved for responseTypeEvent 0x27
|
||||
|
||||
responseTypeAppendTx = byte(0x31)
|
||||
responseTypeGetHash = byte(0x32)
|
||||
responseTypeCommit = byte(0x33)
|
||||
responseTypeRollback = byte(0x34)
|
||||
responseTypeSetEventsMode = byte(0x35)
|
||||
responseTypeAddListener = byte(0x36)
|
||||
responseTypeRemListener = byte(0x37)
|
||||
responseTypeEvent = byte(0x38)
|
||||
responseTypeAddListener = byte(0x35)
|
||||
responseTypeRemListener = byte(0x36)
|
||||
responseTypeEvent = byte(0x37)
|
||||
)
|
||||
|
||||
//----------------------------------------
|
||||
|
@ -43,6 +45,11 @@ type RequestFlush struct {
|
|||
type RequestInfo struct {
|
||||
}
|
||||
|
||||
type RequestSetOption struct {
|
||||
Key string
|
||||
Value string
|
||||
}
|
||||
|
||||
type RequestAppendTx struct {
|
||||
TxBytes []byte
|
||||
}
|
||||
|
@ -56,10 +63,6 @@ type RequestCommit struct {
|
|||
type RequestRollback struct {
|
||||
}
|
||||
|
||||
type RequestSetEventsMode struct {
|
||||
EventsMode
|
||||
}
|
||||
|
||||
type RequestAddListener struct {
|
||||
EventKey string
|
||||
}
|
||||
|
@ -75,11 +78,11 @@ type Request interface {
|
|||
func (_ RequestEcho) AssertRequestType() {}
|
||||
func (_ RequestFlush) AssertRequestType() {}
|
||||
func (_ RequestInfo) AssertRequestType() {}
|
||||
func (_ RequestSetOption) AssertRequestType() {}
|
||||
func (_ RequestAppendTx) AssertRequestType() {}
|
||||
func (_ RequestGetHash) AssertRequestType() {}
|
||||
func (_ RequestCommit) AssertRequestType() {}
|
||||
func (_ RequestRollback) AssertRequestType() {}
|
||||
func (_ RequestSetEventsMode) AssertRequestType() {}
|
||||
func (_ RequestAddListener) AssertRequestType() {}
|
||||
func (_ RequestRemListener) AssertRequestType() {}
|
||||
|
||||
|
@ -88,11 +91,11 @@ var _ = wire.RegisterInterface(
|
|||
wire.ConcreteType{RequestEcho{}, requestTypeEcho},
|
||||
wire.ConcreteType{RequestFlush{}, requestTypeFlush},
|
||||
wire.ConcreteType{RequestInfo{}, requestTypeInfo},
|
||||
wire.ConcreteType{RequestSetOption{}, requestTypeSetOption},
|
||||
wire.ConcreteType{RequestAppendTx{}, requestTypeAppendTx},
|
||||
wire.ConcreteType{RequestGetHash{}, requestTypeGetHash},
|
||||
wire.ConcreteType{RequestCommit{}, requestTypeCommit},
|
||||
wire.ConcreteType{RequestRollback{}, requestTypeRollback},
|
||||
wire.ConcreteType{RequestSetEventsMode{}, requestTypeSetEventsMode},
|
||||
wire.ConcreteType{RequestAddListener{}, requestTypeAddListener},
|
||||
wire.ConcreteType{RequestRemListener{}, requestTypeRemListener},
|
||||
)
|
||||
|
@ -110,6 +113,10 @@ type ResponseInfo struct {
|
|||
Data []string
|
||||
}
|
||||
|
||||
type ResponseSetOption struct {
|
||||
RetCode
|
||||
}
|
||||
|
||||
type ResponseAppendTx struct {
|
||||
RetCode
|
||||
}
|
||||
|
@ -127,10 +134,6 @@ type ResponseRollback struct {
|
|||
RetCode
|
||||
}
|
||||
|
||||
type ResponseSetEventsMode struct {
|
||||
RetCode
|
||||
}
|
||||
|
||||
type ResponseAddListener struct {
|
||||
RetCode
|
||||
}
|
||||
|
@ -154,11 +157,11 @@ type Response interface {
|
|||
func (_ ResponseEcho) AssertResponseType() {}
|
||||
func (_ ResponseFlush) AssertResponseType() {}
|
||||
func (_ ResponseInfo) AssertResponseType() {}
|
||||
func (_ ResponseSetOption) AssertResponseType() {}
|
||||
func (_ ResponseAppendTx) AssertResponseType() {}
|
||||
func (_ ResponseGetHash) AssertResponseType() {}
|
||||
func (_ ResponseCommit) AssertResponseType() {}
|
||||
func (_ ResponseRollback) AssertResponseType() {}
|
||||
func (_ ResponseSetEventsMode) AssertResponseType() {}
|
||||
func (_ ResponseAddListener) AssertResponseType() {}
|
||||
func (_ ResponseRemListener) AssertResponseType() {}
|
||||
func (_ ResponseException) AssertResponseType() {}
|
||||
|
@ -169,11 +172,11 @@ var _ = wire.RegisterInterface(
|
|||
wire.ConcreteType{ResponseEcho{}, responseTypeEcho},
|
||||
wire.ConcreteType{ResponseFlush{}, responseTypeFlush},
|
||||
wire.ConcreteType{ResponseInfo{}, responseTypeInfo},
|
||||
wire.ConcreteType{ResponseSetOption{}, responseTypeSetOption},
|
||||
wire.ConcreteType{ResponseAppendTx{}, responseTypeAppendTx},
|
||||
wire.ConcreteType{ResponseGetHash{}, responseTypeGetHash},
|
||||
wire.ConcreteType{ResponseCommit{}, responseTypeCommit},
|
||||
wire.ConcreteType{ResponseRollback{}, responseTypeRollback},
|
||||
wire.ConcreteType{ResponseSetEventsMode{}, responseTypeSetEventsMode},
|
||||
wire.ConcreteType{ResponseAddListener{}, responseTypeAddListener},
|
||||
wire.ConcreteType{ResponseRemListener{}, responseTypeRemListener},
|
||||
wire.ConcreteType{ResponseException{}, responseTypeException},
|
||||
|
|
Loading…
Reference in New Issue