blob: 3974589794fee1631f23e8f9412dd5d9b22c04a5 [file] [log] [blame]
Abhay Kumara2ae5992025-11-10 14:02:24 +00001package sarama
2
3type SaslHandshakeResponse struct {
4 Version int16
5 Err KError
6 EnabledMechanisms []string
7}
8
9func (r *SaslHandshakeResponse) setVersion(v int16) {
10 r.Version = v
11}
12
13func (r *SaslHandshakeResponse) encode(pe packetEncoder) error {
14 pe.putKError(r.Err)
15 return pe.putStringArray(r.EnabledMechanisms)
16}
17
18func (r *SaslHandshakeResponse) decode(pd packetDecoder, version int16) (err error) {
19 r.Err, err = pd.getKError()
20 if err != nil {
21 return err
22 }
23
24 if r.EnabledMechanisms, err = pd.getStringArray(); err != nil {
25 return err
26 }
27
28 return nil
29}
30
31func (r *SaslHandshakeResponse) key() int16 {
32 return apiKeySaslHandshake
33}
34
35func (r *SaslHandshakeResponse) version() int16 {
36 return r.Version
37}
38
39func (r *SaslHandshakeResponse) headerVersion() int16 {
40 return 0
41}
42
43func (r *SaslHandshakeResponse) isValidVersion() bool {
44 return r.Version >= 0 && r.Version <= 1
45}
46
47func (r *SaslHandshakeResponse) requiredVersion() KafkaVersion {
48 switch r.Version {
49 case 1:
50 return V1_0_0_0
51 default:
52 return V0_10_0_0
53 }
54}