github.com/batchcorp/thrift-iterator@v0.0.0-20220918180557-4c4a158fc6e9/protocol/binary/discard.go (about)

     1  package binary
     2  
     3  import (
     4  	"github.com/batchcorp/thrift-iterator/protocol"
     5  	"github.com/batchcorp/thrift-iterator/spi"
     6  )
     7  
     8  func (iter *Iterator) Discard(ttype protocol.TType) {
     9  	switch ttype {
    10  	case protocol.TypeBool, protocol.TypeI08:
    11  		iter.readByte()
    12  	case protocol.TypeI16:
    13  		iter.readSmall(2)
    14  	case protocol.TypeI32:
    15  		iter.readSmall(4)
    16  	case protocol.TypeI64, protocol.TypeDouble:
    17  		iter.readSmall(8)
    18  	case protocol.TypeString:
    19  		iter.SkipBinary(nil)
    20  	case protocol.TypeList:
    21  		spi.DiscardList(iter)
    22  	case protocol.TypeStruct:
    23  		spi.DiscardStruct(iter)
    24  	case protocol.TypeMap:
    25  		spi.DiscardMap(iter)
    26  	default:
    27  		panic("unsupported type")
    28  	}
    29  }