- package types
-
- import (
- "io"
-
- "github.com/golang/protobuf/proto"
- "github.com/tendermint/go-wire"
- )
-
- func RequestEcho(message string) *Request {
- return &Request{
- Type: MessageType_Echo,
- Data: []byte(message),
- }
- }
-
- func RequestFlush() *Request {
- return &Request{
- Type: MessageType_Flush,
- }
- }
-
- func RequestInfo() *Request {
- return &Request{
- Type: MessageType_Info,
- }
- }
-
- func RequestSetOption(key string, value string) *Request {
- return &Request{
- Type: MessageType_SetOption,
- Key: key,
- Value: value,
- }
- }
-
- func RequestAppendTx(txBytes []byte) *Request {
- return &Request{
- Type: MessageType_AppendTx,
- Data: txBytes,
- }
- }
-
- func RequestCheckTx(txBytes []byte) *Request {
- return &Request{
- Type: MessageType_CheckTx,
- Data: txBytes,
- }
- }
-
- func RequestCommit() *Request {
- return &Request{
- Type: MessageType_Commit,
- }
- }
-
- func RequestQuery(queryBytes []byte) *Request {
- return &Request{
- Type: MessageType_Query,
- Data: queryBytes,
- }
- }
-
- func RequestInitChain(validators []*Validator) *Request {
- return &Request{
- Type: MessageType_InitChain,
- Validators: validators,
- }
- }
-
- func RequestEndBlock(height uint64) *Request {
- return &Request{
- Type: MessageType_EndBlock,
- Height: height,
- }
- }
-
- //----------------------------------------
-
- func ResponseException(errStr string) *Response {
- return &Response{
- Type: MessageType_Exception,
- Error: errStr,
- }
- }
-
- func ResponseEcho(message string) *Response {
- return &Response{
- Type: MessageType_Echo,
- Data: []byte(message),
- }
- }
-
- func ResponseFlush() *Response {
- return &Response{
- Type: MessageType_Flush,
- }
- }
-
- func ResponseInfo(info string) *Response {
- return &Response{
- Type: MessageType_Info,
- Data: []byte(info),
- }
- }
-
- func ResponseSetOption(log string) *Response {
- return &Response{
- Type: MessageType_SetOption,
- Log: log,
- }
- }
-
- func ResponseAppendTx(code CodeType, data []byte, log string) *Response {
- return &Response{
- Type: MessageType_AppendTx,
- Code: code,
- Data: data,
- Log: log,
- }
- }
-
- func ResponseCheckTx(code CodeType, data []byte, log string) *Response {
- return &Response{
- Type: MessageType_CheckTx,
- Code: code,
- Data: data,
- Log: log,
- }
- }
-
- func ResponseCommit(code CodeType, data []byte, log string) *Response {
- return &Response{
- Type: MessageType_Commit,
- Code: code,
- Data: data,
- Log: log,
- }
- }
-
- func ResponseQuery(code CodeType, data []byte, log string) *Response {
- return &Response{
- Type: MessageType_Query,
- Code: code,
- Data: data,
- Log: log,
- }
- }
-
- func ResponseInitChain() *Response {
- return &Response{
- Type: MessageType_InitChain,
- }
- }
-
- func ResponseEndBlock(validators []*Validator) *Response {
- return &Response{
- Type: MessageType_EndBlock,
- Validators: validators,
- }
- }
-
- //----------------------------------------
-
- // Write proto message, length delimited
- func WriteMessage(msg proto.Message, w io.Writer) error {
- bz, err := proto.Marshal(msg)
- if err != nil {
- return err
- }
- var n int
- wire.WriteByteSlice(bz, w, &n, &err)
- return err
- }
-
- // Read proto message, length delimited
- func ReadMessage(r io.Reader, msg proto.Message) error {
- var n int
- var err error
- bz := wire.ReadByteSlice(r, 0, &n, &err)
- if err != nil {
- return err
- }
- err = proto.Unmarshal(bz, msg)
- return err
- }
|