MCPcopy
hub / github.com/IBM/sarama / encode

Method encode

join_group_request.go:68–124  ·  view source on GitHub ↗
(pe packetEncoder)

Source from the content-addressed store, hash-verified

66}
67
68func (r *JoinGroupRequest) encode(pe packetEncoder) error {
69 if err := pe.putString(r.GroupId); err != nil {
70 return err
71 }
72 pe.putInt32(r.SessionTimeout)
73 if r.Version >= 1 {
74 pe.putInt32(r.RebalanceTimeout)
75 }
76 if err := pe.putString(r.MemberId); err != nil {
77 return err
78 }
79 if r.Version >= 5 {
80 if err := pe.putNullableString(r.GroupInstanceId); err != nil {
81 return err
82 }
83 }
84 if err := pe.putString(r.ProtocolType); err != nil {
85 return err
86 }
87
88 if len(r.GroupProtocols) > 0 {
89 if len(r.OrderedGroupProtocols) > 0 {
90 return PacketEncodingError{"cannot specify both GroupProtocols and OrderedGroupProtocols on JoinGroupRequest"}
91 }
92
93 if err := pe.putArrayLength(len(r.GroupProtocols)); err != nil {
94 return err
95 }
96 for name, metadata := range r.GroupProtocols {
97 if err := pe.putString(name); err != nil {
98 return err
99 }
100 if err := pe.putBytes(metadata); err != nil {
101 return err
102 }
103 pe.putEmptyTaggedFieldArray()
104 }
105 } else {
106 if err := pe.putArrayLength(len(r.OrderedGroupProtocols)); err != nil {
107 return err
108 }
109 for _, protocol := range r.OrderedGroupProtocols {
110 if err := protocol.encode(pe); err != nil {
111 return err
112 }
113 }
114 }
115
116 if r.Version >= 8 {
117 if err := pe.putNullableString(r.Reason); err != nil {
118 return err
119 }
120 }
121
122 pe.putEmptyTaggedFieldArray()
123 return nil
124}
125

Callers

nothing calls this directly

Calls 7

putStringMethod · 0.65
putInt32Method · 0.65
putNullableStringMethod · 0.65
putArrayLengthMethod · 0.65
putBytesMethod · 0.65
encodeMethod · 0.65

Tested by

no test coverage detected