12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- package sarama
- type ConfigResource struct {
- Type ConfigResourceType
- Name string
- ConfigNames []string
- }
- type DescribeConfigsRequest struct {
- Resources []*ConfigResource
- }
- func (r *DescribeConfigsRequest) encode(pe packetEncoder) error {
- if err := pe.putArrayLength(len(r.Resources)); err != nil {
- return err
- }
- for _, c := range r.Resources {
- pe.putInt8(int8(c.Type))
- if err := pe.putString(c.Name); err != nil {
- return err
- }
- if len(c.ConfigNames) == 0 {
- pe.putInt32(-1)
- continue
- }
- if err := pe.putStringArray(c.ConfigNames); err != nil {
- return err
- }
- }
- return nil
- }
- func (r *DescribeConfigsRequest) decode(pd packetDecoder, version int16) (err error) {
- n, err := pd.getArrayLength()
- if err != nil {
- return err
- }
- r.Resources = make([]*ConfigResource, n)
- for i := 0; i < n; i++ {
- r.Resources[i] = &ConfigResource{}
- t, err := pd.getInt8()
- if err != nil {
- return err
- }
- r.Resources[i].Type = ConfigResourceType(t)
- name, err := pd.getString()
- if err != nil {
- return err
- }
- r.Resources[i].Name = name
- confLength, err := pd.getArrayLength()
- if err != nil {
- return err
- }
- if confLength == -1 {
- continue
- }
- cfnames := make([]string, confLength)
- for i := 0; i < confLength; i++ {
- s, err := pd.getString()
- if err != nil {
- return err
- }
- cfnames[i] = s
- }
- r.Resources[i].ConfigNames = cfnames
- }
- return nil
- }
- func (r *DescribeConfigsRequest) key() int16 {
- return 32
- }
- func (r *DescribeConfigsRequest) version() int16 {
- return 0
- }
- func (r *DescribeConfigsRequest) requiredVersion() KafkaVersion {
- return V0_11_0_0
- }
|