MCPcopy Index your code
hub / github.com/vmihailenco/msgpack / decodeTime

Method decodeTime

time.go:128–151  ·  view source on GitHub ↗
(extLen int)

Source from the content-addressed store, hash-verified

126}
127
128func (d *Decoder) decodeTime(extLen int) (time.Time, error) {
129 b, err := d.readN(extLen)
130 if err != nil {
131 return time.Time{}, err
132 }
133
134 switch len(b) {
135 case 4:
136 sec := binary.BigEndian.Uint32(b)
137 return time.Unix(int64(sec), 0), nil
138 case 8:
139 sec := binary.BigEndian.Uint64(b)
140 nsec := int64(sec >> 34)
141 sec &= 0x00000003ffffffff
142 return time.Unix(int64(sec), nsec), nil
143 case 12:
144 nsec := binary.BigEndian.Uint32(b)
145 sec := binary.BigEndian.Uint64(b[4:])
146 return time.Unix(int64(sec), int64(nsec)), nil
147 default:
148 err = fmt.Errorf("msgpack: invalid ext len=%d decoding time", extLen)
149 return time.Time{}, err
150 }
151}

Callers 2

DecodeTimeMethod · 0.95
timeDecoderFunction · 0.80

Calls 1

readNMethod · 0.95

Tested by

no test coverage detected