Browse Source

Group metadata response structures together

Evan Huus 11 years ago
parent
commit
b70312a188
3 changed files with 69 additions and 71 deletions
  1. 69 0
      metadata_response.go
  2. 0 38
      partition_metadata.go
  3. 0 33
      topic_metadata.go

+ 69 - 0
metadata_response.go

@@ -1,5 +1,74 @@
 package kafka
 
+type PartitionMetadata struct {
+	Err      KError
+	Id       int32
+	Leader   int32
+	Replicas []int32
+	Isr      []int32
+}
+
+func (pm *PartitionMetadata) decode(pd packetDecoder) (err error) {
+	pm.Err, err = pd.getError()
+	if err != nil {
+		return err
+	}
+
+	pm.Id, err = pd.getInt32()
+	if err != nil {
+		return err
+	}
+
+	pm.Leader, err = pd.getInt32()
+	if err != nil {
+		return err
+	}
+
+	pm.Replicas, err = pd.getInt32Array()
+	if err != nil {
+		return err
+	}
+
+	pm.Isr, err = pd.getInt32Array()
+	if err != nil {
+		return err
+	}
+
+	return nil
+}
+
+type TopicMetadata struct {
+	Err        KError
+	Name       *string
+	Partitions []PartitionMetadata
+}
+
+func (tm *TopicMetadata) decode(pd packetDecoder) (err error) {
+	tm.Err, err = pd.getError()
+	if err != nil {
+		return err
+	}
+
+	tm.Name, err = pd.getString()
+	if err != nil {
+		return err
+	}
+
+	n, err := pd.getArrayCount()
+	if err != nil {
+		return err
+	}
+	tm.Partitions = make([]PartitionMetadata, n)
+	for i := 0; i < n; i++ {
+		err = (&tm.Partitions[i]).decode(pd)
+		if err != nil {
+			return err
+		}
+	}
+
+	return nil
+}
+
 type MetadataResponse struct {
 	Brokers []Broker
 	Topics  []TopicMetadata

+ 0 - 38
partition_metadata.go

@@ -1,38 +0,0 @@
-package kafka
-
-type PartitionMetadata struct {
-	Err      KError
-	Id       int32
-	Leader   int32
-	Replicas []int32
-	Isr      []int32
-}
-
-func (pm *PartitionMetadata) decode(pd packetDecoder) (err error) {
-	pm.Err, err = pd.getError()
-	if err != nil {
-		return err
-	}
-
-	pm.Id, err = pd.getInt32()
-	if err != nil {
-		return err
-	}
-
-	pm.Leader, err = pd.getInt32()
-	if err != nil {
-		return err
-	}
-
-	pm.Replicas, err = pd.getInt32Array()
-	if err != nil {
-		return err
-	}
-
-	pm.Isr, err = pd.getInt32Array()
-	if err != nil {
-		return err
-	}
-
-	return nil
-}

+ 0 - 33
topic_metadata.go

@@ -1,33 +0,0 @@
-package kafka
-
-type TopicMetadata struct {
-	Err        KError
-	Name       *string
-	Partitions []PartitionMetadata
-}
-
-func (tm *TopicMetadata) decode(pd packetDecoder) (err error) {
-	tm.Err, err = pd.getError()
-	if err != nil {
-		return err
-	}
-
-	tm.Name, err = pd.getString()
-	if err != nil {
-		return err
-	}
-
-	n, err := pd.getArrayCount()
-	if err != nil {
-		return err
-	}
-	tm.Partitions = make([]PartitionMetadata, n)
-	for i := 0; i < n; i++ {
-		err = (&tm.Partitions[i]).decode(pd)
-		if err != nil {
-			return err
-		}
-	}
-
-	return nil
-}