MCPcopy Create free account
hub / github.com/HDT3213/rdb / readStreamListPacks

Method readStreamListPacks

core/stream.go:20–63  ·  view source on GitHub ↗
(version uint)

Source from the content-addressed store, hash-verified

18)
19
20func (dec *Decoder) readStreamListPacks(version uint) (*model.StreamObject, error) {
21 entries, err := dec.readStreamEntries()
22 if err != nil {
23 return nil, err
24 }
25 steamLen, _, err := dec.readLength()
26 if err != nil {
27 return nil, err
28 }
29 lastId, err := dec.readStreamId()
30 if err != nil {
31 return nil, err
32 }
33 stream := &model.StreamObject{
34 Entries: entries,
35 Length: steamLen,
36 LastId: lastId,
37 }
38
39 if version >= 2 {
40 firstId, err := dec.readStreamId()
41 if err != nil {
42 return nil, err
43 }
44 stream.FirstId = firstId
45 maxDeletedId, err := dec.readStreamId()
46 if err != nil {
47 return nil, err
48 }
49 stream.MaxDeletedId = maxDeletedId
50 addedCount, _, err := dec.readLength()
51 if err != nil {
52 return nil, err
53 }
54 stream.AddedEntriesCount = addedCount
55 }
56 groups, err := dec.readStreamGroups(version)
57 if err != nil {
58 return nil, err
59 }
60 stream.Groups = groups
61 stream.Version = version
62 return stream, nil
63}
64
65func (dec *Decoder) readStreamId() (*model.StreamId, error) {
66 ms, _, err := dec.readLength()

Callers 1

readObjectMethod · 0.95

Calls 4

readStreamEntriesMethod · 0.95
readLengthMethod · 0.95
readStreamIdMethod · 0.95
readStreamGroupsMethod · 0.95

Tested by

no test coverage detected