MCPcopy Create free account
hub / github.com/apache/thrift / ReadMapBegin

Method ReadMapBegin

lib/go/thrift/simple_json_protocol.go:411–441  ·  view source on GitHub ↗
(ctx context.Context)

Source from the content-addressed store, hash-verified

409}
410
411func (p *TSimpleJSONProtocol) ReadMapBegin(ctx context.Context) (keyType TType, valueType TType, size int, e error) {
412 if isNull, e := p.ParseListBegin(); isNull || e != nil {
413 return VOID, VOID, 0, e
414 }
415
416 // read keyType
417 bKeyType, e := p.ReadByte(ctx)
418 keyType = TType(bKeyType)
419 if e != nil {
420 return keyType, valueType, size, e
421 }
422
423 // read valueType
424 bValueType, e := p.ReadByte(ctx)
425 valueType = TType(bValueType)
426 if e != nil {
427 return keyType, valueType, size, e
428 }
429
430 // read size
431 iSize, err := p.ReadI64(ctx)
432 if err != nil {
433 return keyType, valueType, 0, err
434 }
435 err = checkSizeForProtocol(int32(size), p.cfg)
436 if err != nil {
437 return keyType, valueType, 0, err
438 }
439 size = int(iSize)
440 return keyType, valueType, size, err
441}
442
443func (p *TSimpleJSONProtocol) ReadMapEnd(ctx context.Context) error {
444 return p.ParseListEnd()

Callers

nothing calls this directly

Calls 5

ParseListBeginMethod · 0.95
ReadByteMethod · 0.95
ReadI64Method · 0.95
checkSizeForProtocolFunction · 0.85
TTypeTypeAlias · 0.70

Tested by

no test coverage detected