github.com/cloudwego/dynamicgo@v0.2.6-0.20240519101509-707f41b6b834/proto/binary/README.md (about)

     1  <!-- Code generated by gomarkdoc. DO NOT EDIT -->
     2  
     3  # binary
     4  
     5  ```go
     6  import "github.com/cloudwego/dynamicgo/proto/binary"
     7  ```
     8  
     9  ## Index
    10  
    11  - [binary](#binary)
    12    - [Index](#index)
    13    - [Variables](#variables)
    14    - [func AppendSpeculativeLength](#func-appendspeculativelength)
    15    - [func FinishSpeculativeLength](#func-finishspeculativelength)
    16    - [func FreeBinaryProtocol](#func-freebinaryprotocol)
    17    - [type BinaryProtocol](#type-binaryprotocol)
    18      - [func NewBinaryProtocolBuffer](#func-newbinaryprotocolbuffer)
    19      - [func NewBinaryProtol](#func-newbinaryprotol)
    20      - [func (\*BinaryProtocol) AppendTag](#func-binaryprotocol-appendtag)
    21      - [func (\*BinaryProtocol) AppendTagByKind](#func-binaryprotocol-appendtagbykind)
    22      - [func (\*BinaryProtocol) ConsumeTag](#func-binaryprotocol-consumetag)
    23      - [func (\*BinaryProtocol) ConsumeTagWithoutMove](#func-binaryprotocol-consumetagwithoutmove)
    24      - [func (\*BinaryProtocol) Left](#func-binaryprotocol-left)
    25      - [func (\*BinaryProtocol) RawBuf](#func-binaryprotocol-rawbuf)
    26      - [func (\*BinaryProtocol) ReadAnyWithDesc](#func-binaryprotocol-readanywithdesc)
    27      - [func (\*BinaryProtocol) ReadBaseTypeWithDesc](#func-binaryprotocol-readbasetypewithdesc)
    28      - [func (\*BinaryProtocol) ReadBool](#func-binaryprotocol-readbool)
    29      - [func (\*BinaryProtocol) ReadByte](#func-binaryprotocol-readbyte)
    30      - [func (\*BinaryProtocol) ReadBytes](#func-binaryprotocol-readbytes)
    31      - [func (\*BinaryProtocol) ReadDouble](#func-binaryprotocol-readdouble)
    32      - [func (\*BinaryProtocol) ReadEnum](#func-binaryprotocol-readenum)
    33      - [func (\*BinaryProtocol) ReadFixed32](#func-binaryprotocol-readfixed32)
    34      - [func (\*BinaryProtocol) ReadFixed64](#func-binaryprotocol-readfixed64)
    35      - [func (\*BinaryProtocol) ReadFloat](#func-binaryprotocol-readfloat)
    36      - [func (\*BinaryProtocol) ReadInt](#func-binaryprotocol-readint)
    37      - [func (\*BinaryProtocol) ReadInt32](#func-binaryprotocol-readint32)
    38      - [func (\*BinaryProtocol) ReadInt64](#func-binaryprotocol-readint64)
    39      - [func (\*BinaryProtocol) ReadLength](#func-binaryprotocol-readlength)
    40      - [func (\*BinaryProtocol) ReadList](#func-binaryprotocol-readlist)
    41      - [func (\*BinaryProtocol) ReadMap](#func-binaryprotocol-readmap)
    42      - [func (\*BinaryProtocol) ReadPair](#func-binaryprotocol-readpair)
    43      - [func (\*BinaryProtocol) ReadSfixed32](#func-binaryprotocol-readsfixed32)
    44      - [func (\*BinaryProtocol) ReadSfixed64](#func-binaryprotocol-readsfixed64)
    45      - [func (\*BinaryProtocol) ReadSint32](#func-binaryprotocol-readsint32)
    46      - [func (\*BinaryProtocol) ReadSint64](#func-binaryprotocol-readsint64)
    47      - [func (\*BinaryProtocol) ReadString](#func-binaryprotocol-readstring)
    48      - [func (\*BinaryProtocol) ReadUint32](#func-binaryprotocol-readuint32)
    49      - [func (\*BinaryProtocol) ReadUint64](#func-binaryprotocol-readuint64)
    50      - [func (\*BinaryProtocol) ReadVarint](#func-binaryprotocol-readvarint)
    51      - [func (\*BinaryProtocol) Recycle](#func-binaryprotocol-recycle)
    52      - [func (\*BinaryProtocol) Reset](#func-binaryprotocol-reset)
    53      - [func (\*BinaryProtocol) Skip](#func-binaryprotocol-skip)
    54      - [func (\*BinaryProtocol) SkipAllElements](#func-binaryprotocol-skipallelements)
    55      - [func (\*BinaryProtocol) SkipBytesType](#func-binaryprotocol-skipbytestype)
    56      - [func (\*BinaryProtocol) SkipFixed32Type](#func-binaryprotocol-skipfixed32type)
    57      - [func (\*BinaryProtocol) SkipFixed64Type](#func-binaryprotocol-skipfixed64type)
    58      - [func (\*BinaryProtocol) WriteAnyWithDesc](#func-binaryprotocol-writeanywithdesc)
    59      - [func (\*BinaryProtocol) WriteBaseTypeWithDesc](#func-binaryprotocol-writebasetypewithdesc)
    60      - [func (\*BinaryProtocol) WriteBool](#func-binaryprotocol-writebool)
    61      - [func (\*BinaryProtocol) WriteBytes](#func-binaryprotocol-writebytes)
    62      - [func (\*BinaryProtocol) WriteDouble](#func-binaryprotocol-writedouble)
    63      - [func (\*BinaryProtocol) WriteEnum](#func-binaryprotocol-writeenum)
    64      - [func (\*BinaryProtocol) WriteFixed32](#func-binaryprotocol-writefixed32)
    65      - [func (\*BinaryProtocol) WriteFixed64](#func-binaryprotocol-writefixed64)
    66      - [func (\*BinaryProtocol) WriteFloat](#func-binaryprotocol-writefloat)
    67      - [func (\*BinaryProtocol) WriteInt32](#func-binaryprotocol-writeint32)
    68      - [func (\*BinaryProtocol) WriteInt64](#func-binaryprotocol-writeint64)
    69      - [func (\*BinaryProtocol) WriteList](#func-binaryprotocol-writelist)
    70      - [func (\*BinaryProtocol) WriteMap](#func-binaryprotocol-writemap)
    71      - [func (\*BinaryProtocol) WriteMessageFields](#func-binaryprotocol-writemessagefields)
    72      - [func (\*BinaryProtocol) WriteSfixed32](#func-binaryprotocol-writesfixed32)
    73      - [func (\*BinaryProtocol) WriteSfixed64](#func-binaryprotocol-writesfixed64)
    74      - [func (\*BinaryProtocol) WriteSint32](#func-binaryprotocol-writesint32)
    75      - [func (\*BinaryProtocol) WriteSint64](#func-binaryprotocol-writesint64)
    76      - [func (\*BinaryProtocol) WriteString](#func-binaryprotocol-writestring)
    77      - [func (\*BinaryProtocol) WriteUint32](#func-binaryprotocol-writeuint32)
    78      - [func (\*BinaryProtocol) WriteUint64](#func-binaryprotocol-writeuint64)
    79  
    80  
    81  ## Variables
    82  
    83  <a name="ErrConvert"></a>
    84  
    85  ```go
    86  var (
    87      ErrConvert = meta.NewError(meta.ErrConvert, "convert type error", nil)
    88  )
    89  ```
    90  
    91  <a name="AppendSpeculativeLength"></a>
    92  ## func [AppendSpeculativeLength](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L188>)
    93  
    94  ```go
    95  func AppendSpeculativeLength(b []byte) ([]byte, int)
    96  ```
    97  
    98  When encoding length-prefixed fields, we speculatively set aside some number of bytes for the length, encode the data, and then encode the length (shifting the data if necessary to make room).
    99  
   100  <a name="FinishSpeculativeLength"></a>
   101  ## func [FinishSpeculativeLength](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L194>)
   102  
   103  ```go
   104  func FinishSpeculativeLength(b []byte, pos int) []byte
   105  ```
   106  
   107  
   108  
   109  <a name="FreeBinaryProtocol"></a>
   110  ## func [FreeBinaryProtocol](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L127>)
   111  
   112  ```go
   113  func FreeBinaryProtocol(bp *BinaryProtocol)
   114  ```
   115  
   116  
   117  
   118  <a name="BinaryProtocol"></a>
   119  ## type [BinaryProtocol](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L45-L48>)
   120  
   121  Serizalize data to byte array and reuse the memory
   122  
   123  ```go
   124  type BinaryProtocol struct {
   125      Buf  []byte
   126      Read int
   127  }
   128  ```
   129  
   130  <a name="NewBinaryProtocolBuffer"></a>
   131  ### func [NewBinaryProtocolBuffer](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L122>)
   132  
   133  ```go
   134  func NewBinaryProtocolBuffer() *BinaryProtocol
   135  ```
   136  
   137  
   138  
   139  <a name="NewBinaryProtol"></a>
   140  ### func [NewBinaryProtol](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L116>)
   141  
   142  ```go
   143  func NewBinaryProtol(buf []byte) *BinaryProtocol
   144  ```
   145  
   146  BinaryProtocol Method
   147  
   148  <a name="BinaryProtocol.AppendTag"></a>
   149  ### func (*BinaryProtocol) [AppendTag](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L138>)
   150  
   151  ```go
   152  func (p *BinaryProtocol) AppendTag(num proto.FieldNumber, typ proto.WireType) error
   153  ```
   154  
   155  Append Tag
   156  
   157  <a name="BinaryProtocol.AppendTagByKind"></a>
   158  ### func (*BinaryProtocol) [AppendTagByKind](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L148>)
   159  
   160  ```go
   161  func (p *BinaryProtocol) AppendTagByKind(number proto.FieldNumber, kind proto.ProtoKind) error
   162  ```
   163  
   164  Append Tag With FieldDescriptor by kind, you must use kind to write tag, because the typedesc when list has no tag
   165  
   166  <a name="BinaryProtocol.ConsumeTag"></a>
   167  ### func (*BinaryProtocol) [ConsumeTag](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L153>)
   168  
   169  ```go
   170  func (p *BinaryProtocol) ConsumeTag() (proto.FieldNumber, proto.WireType, int, error)
   171  ```
   172  
   173  ConsumeTag parses b as a varint-encoded tag, reporting its length.
   174  
   175  <a name="BinaryProtocol.ConsumeTagWithoutMove"></a>
   176  ### func (*BinaryProtocol) [ConsumeTagWithoutMove](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L170>)
   177  
   178  ```go
   179  func (p *BinaryProtocol) ConsumeTagWithoutMove() (proto.FieldNumber, proto.WireType, int, error)
   180  ```
   181  
   182  ConsumeChildTag parses b as a varint-encoded tag, don't move p.Read
   183  
   184  <a name="BinaryProtocol.Left"></a>
   185  ### func (*BinaryProtocol) [Left](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L111>)
   186  
   187  ```go
   188  func (p *BinaryProtocol) Left() int
   189  ```
   190  
   191  Left returns the left bytes to read
   192  
   193  <a name="BinaryProtocol.RawBuf"></a>
   194  ### func (*BinaryProtocol) [RawBuf](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L106>)
   195  
   196  ```go
   197  func (p *BinaryProtocol) RawBuf() []byte
   198  ```
   199  
   200  RawBuf returns the raw buffer of the protocol
   201  
   202  <a name="BinaryProtocol.ReadAnyWithDesc"></a>
   203  ### func (*BinaryProtocol) [ReadAnyWithDesc](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L1131>)
   204  
   205  ```go
   206  func (p *BinaryProtocol) ReadAnyWithDesc(desc *proto.TypeDescriptor, hasMessageLen bool, copyString bool, disallowUnknown bool, useFieldName bool) (interface{}, error)
   207  ```
   208  
   209  ReadAnyWithDesc read any type by desc and val, the first Tag is parsed outside when use ReadBaseTypeWithDesc
   210  
   211  - LIST/SET will be converted to []interface{}
   212  - MAP will be converted to map[string]interface{} or map[int]interface{} or map[interface{}]interface{}
   213  - MESSAGE will be converted to map[proto.FieldNumber]interface{} or map[string]interface{}
   214  
   215  <a name="BinaryProtocol.ReadBaseTypeWithDesc"></a>
   216  ### func (*BinaryProtocol) [ReadBaseTypeWithDesc](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L1143>)
   217  
   218  ```go
   219  func (p *BinaryProtocol) ReadBaseTypeWithDesc(desc *proto.TypeDescriptor, hasMessageLen bool, copyString bool, disallowUnknown bool, useFieldName bool) (interface{}, error)
   220  ```
   221  
   222  ReadBaseType with desc, not thread safe
   223  
   224  <a name="BinaryProtocol.ReadBool"></a>
   225  ### func (*BinaryProtocol) [ReadBool](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L775>)
   226  
   227  ```go
   228  func (p *BinaryProtocol) ReadBool() (bool, error)
   229  ```
   230  
   231  ReadBool
   232  
   233  <a name="BinaryProtocol.ReadByte"></a>
   234  ### func (*BinaryProtocol) [ReadByte](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L766>)
   235  
   236  ```go
   237  func (p *BinaryProtocol) ReadByte() (value byte, err error)
   238  ```
   239  
   240  ReadByte
   241  
   242  <a name="BinaryProtocol.ReadBytes"></a>
   243  ### func (*BinaryProtocol) [ReadBytes](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L947>)
   244  
   245  ```go
   246  func (p *BinaryProtocol) ReadBytes() ([]byte, error)
   247  ```
   248  
   249  ReadBytes return bytesData and the sum length of L、V in TLV
   250  
   251  <a name="BinaryProtocol.ReadDouble"></a>
   252  ### func (*BinaryProtocol) [ReadDouble](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L937>)
   253  
   254  ```go
   255  func (p *BinaryProtocol) ReadDouble() (float64, error)
   256  ```
   257  
   258  ReadDouble
   259  
   260  <a name="BinaryProtocol.ReadEnum"></a>
   261  ### func (*BinaryProtocol) [ReadEnum](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L984>)
   262  
   263  ```go
   264  func (p *BinaryProtocol) ReadEnum() (proto.EnumNumber, error)
   265  ```
   266  
   267  ReadEnum
   268  
   269  <a name="BinaryProtocol.ReadFixed32"></a>
   270  ### func (*BinaryProtocol) [ReadFixed32](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L887>)
   271  
   272  ```go
   273  func (p *BinaryProtocol) ReadFixed32() (int32, error)
   274  ```
   275  
   276  ReadFixed32
   277  
   278  <a name="BinaryProtocol.ReadFixed64"></a>
   279  ### func (*BinaryProtocol) [ReadFixed64](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L917>)
   280  
   281  ```go
   282  func (p *BinaryProtocol) ReadFixed64() (int64, error)
   283  ```
   284  
   285  ReadFixed64
   286  
   287  <a name="BinaryProtocol.ReadFloat"></a>
   288  ### func (*BinaryProtocol) [ReadFloat](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L907>)
   289  
   290  ```go
   291  func (p *BinaryProtocol) ReadFloat() (float32, error)
   292  ```
   293  
   294  ReadFloat
   295  
   296  <a name="BinaryProtocol.ReadInt"></a>
   297  ### func (*BinaryProtocol) [ReadInt](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L785>)
   298  
   299  ```go
   300  func (p *BinaryProtocol) ReadInt(t proto.Type) (value int, err error)
   301  ```
   302  
   303  ReadInt containing INT32, SINT32, SFIX32, INT64, SINT64, SFIX64, UINT32, UINT64
   304  
   305  <a name="BinaryProtocol.ReadInt32"></a>
   306  ### func (*BinaryProtocol) [ReadInt32](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L817>)
   307  
   308  ```go
   309  func (p *BinaryProtocol) ReadInt32() (int32, error)
   310  ```
   311  
   312  ReadI32
   313  
   314  <a name="BinaryProtocol.ReadInt64"></a>
   315  ### func (*BinaryProtocol) [ReadInt64](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L847>)
   316  
   317  ```go
   318  func (p *BinaryProtocol) ReadInt64() (int64, error)
   319  ```
   320  
   321  ReadI64
   322  
   323  <a name="BinaryProtocol.ReadLength"></a>
   324  ### func (*BinaryProtocol) [ReadLength](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L957>)
   325  
   326  ```go
   327  func (p *BinaryProtocol) ReadLength() (int, error)
   328  ```
   329  
   330  ReadLength return dataLength, and move pointer in the begin of data
   331  
   332  <a name="BinaryProtocol.ReadList"></a>
   333  ### func (*BinaryProtocol) [ReadList](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L994>)
   334  
   335  ```go
   336  func (p *BinaryProtocol) ReadList(desc *proto.TypeDescriptor, copyString bool, disallowUnknown bool, useFieldName bool) ([]interface{}, error)
   337  ```
   338  
   339  ReadList
   340  
   341  <a name="BinaryProtocol.ReadMap"></a>
   342  ### func (*BinaryProtocol) [ReadMap](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L1073>)
   343  
   344  ```go
   345  func (p *BinaryProtocol) ReadMap(desc *proto.TypeDescriptor, copyString bool, disallowUnknown bool, useFieldName bool) (map[interface{}]interface{}, error)
   346  ```
   347  
   348  ReadMap
   349  
   350  <a name="BinaryProtocol.ReadPair"></a>
   351  ### func (*BinaryProtocol) [ReadPair](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L1051>)
   352  
   353  ```go
   354  func (p *BinaryProtocol) ReadPair(keyDesc *proto.TypeDescriptor, valueDesc *proto.TypeDescriptor, copyString bool, disallowUnknown bool, useFieldName bool) (interface{}, interface{}, error)
   355  ```
   356  
   357  
   358  
   359  <a name="BinaryProtocol.ReadSfixed32"></a>
   360  ### func (*BinaryProtocol) [ReadSfixed32](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L897>)
   361  
   362  ```go
   363  func (p *BinaryProtocol) ReadSfixed32() (int32, error)
   364  ```
   365  
   366  ReadSFixed32
   367  
   368  <a name="BinaryProtocol.ReadSfixed64"></a>
   369  ### func (*BinaryProtocol) [ReadSfixed64](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L927>)
   370  
   371  ```go
   372  func (p *BinaryProtocol) ReadSfixed64() (int64, error)
   373  ```
   374  
   375  ReadSFixed64
   376  
   377  <a name="BinaryProtocol.ReadSint32"></a>
   378  ### func (*BinaryProtocol) [ReadSint32](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L827>)
   379  
   380  ```go
   381  func (p *BinaryProtocol) ReadSint32() (int32, error)
   382  ```
   383  
   384  ReadSint32
   385  
   386  <a name="BinaryProtocol.ReadSint64"></a>
   387  ### func (*BinaryProtocol) [ReadSint64](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L857>)
   388  
   389  ```go
   390  func (p *BinaryProtocol) ReadSint64() (int64, error)
   391  ```
   392  
   393  ReadSint64
   394  
   395  <a name="BinaryProtocol.ReadString"></a>
   396  ### func (*BinaryProtocol) [ReadString](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L967>)
   397  
   398  ```go
   399  func (p *BinaryProtocol) ReadString(copy bool) (value string, err error)
   400  ```
   401  
   402  ReadString
   403  
   404  <a name="BinaryProtocol.ReadUint32"></a>
   405  ### func (*BinaryProtocol) [ReadUint32](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L837>)
   406  
   407  ```go
   408  func (p *BinaryProtocol) ReadUint32() (uint32, error)
   409  ```
   410  
   411  ReadUint32
   412  
   413  <a name="BinaryProtocol.ReadUint64"></a>
   414  ### func (*BinaryProtocol) [ReadUint64](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L867>)
   415  
   416  ```go
   417  func (p *BinaryProtocol) ReadUint64() (uint64, error)
   418  ```
   419  
   420  ReadUint64
   421  
   422  <a name="BinaryProtocol.ReadVarint"></a>
   423  ### func (*BinaryProtocol) [ReadVarint](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L877>)
   424  
   425  ```go
   426  func (p *BinaryProtocol) ReadVarint() (uint64, error)
   427  ```
   428  
   429  ReadVarint
   430  
   431  <a name="BinaryProtocol.Recycle"></a>
   432  ### func (*BinaryProtocol) [Recycle](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L132>)
   433  
   434  ```go
   435  func (p *BinaryProtocol) Recycle()
   436  ```
   437  
   438  
   439  
   440  <a name="BinaryProtocol.Reset"></a>
   441  ### func (*BinaryProtocol) [Reset](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L100>)
   442  
   443  ```go
   444  func (p *BinaryProtocol) Reset()
   445  ```
   446  
   447  Reset resets the buffer and read position
   448  
   449  <a name="BinaryProtocol.Skip"></a>
   450  ### func (*BinaryProtocol) [Skip](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary_skip.go#L29>)
   451  
   452  ```go
   453  func (p *BinaryProtocol) Skip(wireType proto.WireType, useNative bool) (err error)
   454  ```
   455  
   456  skip (L)V once by wireType, useNative is not implemented
   457  
   458  <a name="BinaryProtocol.SkipAllElements"></a>
   459  ### func (*BinaryProtocol) [SkipAllElements](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary_skip.go#L44>)
   460  
   461  ```go
   462  func (p *BinaryProtocol) SkipAllElements(fieldNumber proto.FieldNumber, ispacked bool) (size int, err error)
   463  ```
   464  
   465  fast skip all elements in LIST/MAP
   466  
   467  <a name="BinaryProtocol.SkipBytesType"></a>
   468  ### func (*BinaryProtocol) [SkipBytesType](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary_skip.go#L18>)
   469  
   470  ```go
   471  func (p *BinaryProtocol) SkipBytesType() (int, error)
   472  ```
   473  
   474  
   475  
   476  <a name="BinaryProtocol.SkipFixed32Type"></a>
   477  ### func (*BinaryProtocol) [SkipFixed32Type](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary_skip.go#L8>)
   478  
   479  ```go
   480  func (p *BinaryProtocol) SkipFixed32Type() (int, error)
   481  ```
   482  
   483  
   484  
   485  <a name="BinaryProtocol.SkipFixed64Type"></a>
   486  ### func (*BinaryProtocol) [SkipFixed64Type](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary_skip.go#L13>)
   487  
   488  ```go
   489  func (p *BinaryProtocol) SkipFixed64Type() (int, error)
   490  ```
   491  
   492  
   493  
   494  <a name="BinaryProtocol.WriteAnyWithDesc"></a>
   495  ### func (*BinaryProtocol) [WriteAnyWithDesc](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L750>)
   496  
   497  ```go
   498  func (p *BinaryProtocol) WriteAnyWithDesc(desc *proto.TypeDescriptor, val interface{}, NeedMessageLen bool, cast bool, disallowUnknown bool, useFieldName bool) error
   499  ```
   500  
   501  WriteAnyWithDesc explain desc and val and write them into buffer
   502  
   503  - LIST will be converted from []interface{}
   504  - MAP will be converted from map[string]interface{} or map[int]interface{} or map[interface{}]interface{}
   505  - MESSAGE will be converted from map[FieldNumber]interface{} or map[string]interface{}
   506  
   507  <a name="BinaryProtocol.WriteBaseTypeWithDesc"></a>
   508  ### func (*BinaryProtocol) [WriteBaseTypeWithDesc](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L499>)
   509  
   510  ```go
   511  func (p *BinaryProtocol) WriteBaseTypeWithDesc(desc *proto.TypeDescriptor, val interface{}, NeedMessageLen bool, cast bool, disallowUnknown bool, useFieldName bool) error
   512  ```
   513  
   514  WriteBaseType Fields with FieldDescriptor format: (L)V
   515  
   516  <a name="BinaryProtocol.WriteBool"></a>
   517  ### func (*BinaryProtocol) [WriteBool](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L216>)
   518  
   519  ```go
   520  func (p *BinaryProtocol) WriteBool(value bool) error
   521  ```
   522  
   523  WriteBool
   524  
   525  <a name="BinaryProtocol.WriteBytes"></a>
   526  ### func (*BinaryProtocol) [WriteBytes](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L330>)
   527  
   528  ```go
   529  func (p *BinaryProtocol) WriteBytes(value []byte) error
   530  ```
   531  
   532  WriteBytes
   533  
   534  <a name="BinaryProtocol.WriteDouble"></a>
   535  ### func (*BinaryProtocol) [WriteDouble](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L311>)
   536  
   537  ```go
   538  func (p *BinaryProtocol) WriteDouble(value float64) error
   539  ```
   540  
   541  WriteDouble
   542  
   543  <a name="BinaryProtocol.WriteEnum"></a>
   544  ### func (*BinaryProtocol) [WriteEnum](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L336>)
   545  
   546  ```go
   547  func (p *BinaryProtocol) WriteEnum(value proto.EnumNumber) error
   548  ```
   549  
   550  WriteEnum
   551  
   552  <a name="BinaryProtocol.WriteFixed32"></a>
   553  ### func (*BinaryProtocol) [WriteFixed32](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L243>)
   554  
   555  ```go
   556  func (p *BinaryProtocol) WriteFixed32(value int32) error
   557  ```
   558  
   559  Writefixed32
   560  
   561  <a name="BinaryProtocol.WriteFixed64"></a>
   562  ### func (*BinaryProtocol) [WriteFixed64](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L281>)
   563  
   564  ```go
   565  func (p *BinaryProtocol) WriteFixed64(value uint64) error
   566  ```
   567  
   568  Writefixed64
   569  
   570  <a name="BinaryProtocol.WriteFloat"></a>
   571  ### func (*BinaryProtocol) [WriteFloat](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L301>)
   572  
   573  ```go
   574  func (p *BinaryProtocol) WriteFloat(value float32) error
   575  ```
   576  
   577  WriteFloat
   578  
   579  <a name="BinaryProtocol.WriteInt32"></a>
   580  ### func (*BinaryProtocol) [WriteInt32](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L225>)
   581  
   582  ```go
   583  func (p *BinaryProtocol) WriteInt32(value int32) error
   584  ```
   585  
   586  WriteInt32
   587  
   588  <a name="BinaryProtocol.WriteInt64"></a>
   589  ### func (*BinaryProtocol) [WriteInt64](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L263>)
   590  
   591  ```go
   592  func (p *BinaryProtocol) WriteInt64(value int64) error
   593  ```
   594  
   595  WriteInt64
   596  
   597  <a name="BinaryProtocol.WriteList"></a>
   598  ### func (*BinaryProtocol) [WriteList](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L347>)
   599  
   600  ```go
   601  func (p *BinaryProtocol) WriteList(desc *proto.TypeDescriptor, val interface{}, cast bool, disallowUnknown bool, useFieldName bool) error
   602  ```
   603  
   604  * WriteList
   605  
   606  - packed format:[tag][length][value value value value....]
   607  - unpacked format:[tag][(length)][value][tag][(length)][value][tag][(length)][value]....
   608  - accpet val type: []interface{}
   609  
   610  <a name="BinaryProtocol.WriteMap"></a>
   611  ### func (*BinaryProtocol) [WriteMap](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L388>)
   612  
   613  ```go
   614  func (p *BinaryProtocol) WriteMap(desc *proto.TypeDescriptor, val interface{}, cast bool, disallowUnknown bool, useFieldName bool) error
   615  ```
   616  
   617  * WriteMap
   618  
   619  - Map bytes format: [Pairtag][Pairlength][keyTag(L)V][valueTag(L)V] [Pairtag][Pairlength][T(L)V][T(L)V]...
   620  - Pairtag = MapFieldnumber << 3 | wiretype, wiertype = proto.BytesType
   621  - accpet val type: map[string]interface{} or map[int]interface{} or map[interface{}]interface{}
   622  
   623  <a name="BinaryProtocol.WriteMessageFields"></a>
   624  ### func (*BinaryProtocol) [WriteMessageFields](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L452>)
   625  
   626  ```go
   627  func (p *BinaryProtocol) WriteMessageFields(desc *proto.MessageDescriptor, val interface{}, cast bool, disallowUnknown bool, useFieldName bool) error
   628  ```
   629  
   630  * Write Message
   631  
   632  - accpet val type: map[string]interface{} or map[proto.FieldNumber]interface{}
   633  - message fields format: [fieldTag(L)V][fieldTag(L)V]...
   634  
   635  <a name="BinaryProtocol.WriteSfixed32"></a>
   636  ### func (*BinaryProtocol) [WriteSfixed32](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L253>)
   637  
   638  ```go
   639  func (p *BinaryProtocol) WriteSfixed32(value int32) error
   640  ```
   641  
   642  WriteSfixed32
   643  
   644  <a name="BinaryProtocol.WriteSfixed64"></a>
   645  ### func (*BinaryProtocol) [WriteSfixed64](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L291>)
   646  
   647  ```go
   648  func (p *BinaryProtocol) WriteSfixed64(value int64) error
   649  ```
   650  
   651  WriteSfixed64
   652  
   653  <a name="BinaryProtocol.WriteSint32"></a>
   654  ### func (*BinaryProtocol) [WriteSint32](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L231>)
   655  
   656  ```go
   657  func (p *BinaryProtocol) WriteSint32(value int32) error
   658  ```
   659  
   660  WriteSint32
   661  
   662  <a name="BinaryProtocol.WriteSint64"></a>
   663  ### func (*BinaryProtocol) [WriteSint64](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L269>)
   664  
   665  ```go
   666  func (p *BinaryProtocol) WriteSint64(value int64) error
   667  ```
   668  
   669  WriteSint64
   670  
   671  <a name="BinaryProtocol.WriteString"></a>
   672  ### func (*BinaryProtocol) [WriteString](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L321>)
   673  
   674  ```go
   675  func (p *BinaryProtocol) WriteString(value string) error
   676  ```
   677  
   678  WriteString
   679  
   680  <a name="BinaryProtocol.WriteUint32"></a>
   681  ### func (*BinaryProtocol) [WriteUint32](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L237>)
   682  
   683  ```go
   684  func (p *BinaryProtocol) WriteUint32(value uint32) error
   685  ```
   686  
   687  WriteUint32
   688  
   689  <a name="BinaryProtocol.WriteUint64"></a>
   690  ### func (*BinaryProtocol) [WriteUint64](<https://github.com/khan-yin/dynamicgo/blob/main/proto/binary/binary.go#L275>)
   691  
   692  ```go
   693  func (p *BinaryProtocol) WriteUint64(value uint64) error
   694  ```
   695  
   696  WriteUint64
   697  
   698  Generated by [gomarkdoc](<https://github.com/princjef/gomarkdoc>)