package types
|
|
|
|
type Application interface {
|
|
|
|
// For new socket connections
|
|
Open() AppContext
|
|
}
|
|
|
|
type AppContext interface {
|
|
|
|
// Echo a message
|
|
Echo(message string) string
|
|
|
|
// 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)
|
|
|
|
// Return the application Merkle root hash
|
|
GetHash() ([]byte, RetCode)
|
|
|
|
// Set commit checkpoint
|
|
Commit() RetCode
|
|
|
|
// Rollback to the latest commit
|
|
Rollback() RetCode
|
|
|
|
// Add event listener
|
|
AddListener(key string) RetCode
|
|
|
|
// Remove event listener
|
|
RemListener(key string) RetCode
|
|
|
|
// Close this AppContext
|
|
Close() error
|
|
}
|