github.com/batchcorp/thrift-iterator@v0.0.0-20220918180557-4c4a158fc6e9/general/decode_message.go (about)

     1  package general
     2  
     3  import (
     4  	"github.com/batchcorp/thrift-iterator/spi"
     5  	"github.com/batchcorp/thrift-iterator/protocol"
     6  )
     7  
     8  type messageDecoder struct {
     9  }
    10  
    11  func (decoder *messageDecoder) Decode(val interface{}, iter spi.Iterator) {
    12  	*val.(*Message) = Message{
    13  		MessageHeader: iter.ReadMessageHeader(),
    14  		Arguments:     readStruct(iter).(Struct),
    15  	}
    16  }
    17  
    18  type messageHeaderDecoder struct {
    19  }
    20  
    21  func (decoder *messageHeaderDecoder) Decode(val interface{}, iter spi.Iterator) {
    22  	*val.(*protocol.MessageHeader) = iter.ReadMessageHeader()
    23  }