MCPcopy
hub / github.com/vmihailenco/msgpack / encodeInternedStringIndex

Method encodeInternedStringIndex

intern.go:75–98  ·  view source on GitHub ↗
(idx int)

Source from the content-addressed store, hash-verified

73}
74
75func (e *Encoder) encodeInternedStringIndex(idx int) error {
76 if idx <= math.MaxUint8 {
77 if err := e.writeCode(msgpcode.FixExt1); err != nil {
78 return err
79 }
80 return e.write1(byte(internedStringExtID), uint8(idx))
81 }
82
83 if idx <= math.MaxUint16 {
84 if err := e.writeCode(msgpcode.FixExt2); err != nil {
85 return err
86 }
87 return e.write2(byte(internedStringExtID), uint16(idx))
88 }
89
90 if uint64(idx) <= math.MaxUint32 {
91 if err := e.writeCode(msgpcode.FixExt4); err != nil {
92 return err
93 }
94 return e.write4(byte(internedStringExtID), uint32(idx))
95 }
96
97 return fmt.Errorf("msgpack: interned string index=%d is too large", idx)
98}
99
100//------------------------------------------------------------------------------
101

Callers 1

encodeInternedStringMethod · 0.95

Calls 4

writeCodeMethod · 0.95
write1Method · 0.95
write2Method · 0.95
write4Method · 0.95

Tested by

no test coverage detected