(rd *proto.Reader)
| 3949 | } |
| 3950 | |
| 3951 | func readXInfoStreamConsumers(rd *proto.Reader) ([]XInfoStreamConsumer, error) { |
| 3952 | n, err := rd.ReadArrayLen() |
| 3953 | if err != nil { |
| 3954 | return nil, err |
| 3955 | } |
| 3956 | |
| 3957 | consumers := make([]XInfoStreamConsumer, 0, n) |
| 3958 | |
| 3959 | for i := 0; i < n; i++ { |
| 3960 | nn, err := rd.ReadMapLen() |
| 3961 | if err != nil { |
| 3962 | return nil, err |
| 3963 | } |
| 3964 | |
| 3965 | c := XInfoStreamConsumer{} |
| 3966 | |
| 3967 | for f := 0; f < nn; f++ { |
| 3968 | cKey, err := rd.ReadString() |
| 3969 | if err != nil { |
| 3970 | return nil, err |
| 3971 | } |
| 3972 | |
| 3973 | switch cKey { |
| 3974 | case "name": |
| 3975 | c.Name, err = rd.ReadString() |
| 3976 | case "seen-time": |
| 3977 | seen, err := rd.ReadInt() |
| 3978 | if err != nil { |
| 3979 | return nil, err |
| 3980 | } |
| 3981 | c.SeenTime = time.UnixMilli(seen) |
| 3982 | case "active-time": |
| 3983 | active, err := rd.ReadInt() |
| 3984 | if err != nil { |
| 3985 | return nil, err |
| 3986 | } |
| 3987 | c.ActiveTime = time.UnixMilli(active) |
| 3988 | case "pel-count": |
| 3989 | c.PelCount, err = rd.ReadInt() |
| 3990 | case "pending": |
| 3991 | pendingNumber, err := rd.ReadArrayLen() |
| 3992 | if err != nil { |
| 3993 | return nil, err |
| 3994 | } |
| 3995 | |
| 3996 | c.Pending = make([]XInfoStreamConsumerPending, 0, pendingNumber) |
| 3997 | |
| 3998 | for pn := 0; pn < pendingNumber; pn++ { |
| 3999 | if err = rd.ReadFixedArrayLen(3); err != nil { |
| 4000 | return nil, err |
| 4001 | } |
| 4002 | |
| 4003 | p := XInfoStreamConsumerPending{} |
| 4004 | |
| 4005 | p.ID, err = rd.ReadString() |
| 4006 | if err != nil { |
| 4007 | return nil, err |
| 4008 | } |
no test coverage detected