Browse Source

Correctly send client ID

Evan Huus 12 years ago
parent
commit
eb4d0a37fb
3 changed files with 8 additions and 5 deletions
  1. 2 2
      broker.go
  2. 5 2
      brokerManager.go
  3. 1 1
      client.go

+ 2 - 2
broker.go

@@ -148,11 +148,11 @@ func (b *broker) rcvResponseLoop() {
 	}
 	}
 }
 }
 
 
-func (b *broker) sendRequest(api API, body encoder) (chan []byte, error) {
+func (b *broker) sendRequest(clientID *string, api API, body encoder) (chan []byte, error) {
 	var prepEnc prepEncoder
 	var prepEnc prepEncoder
 	var realEnc realEncoder
 	var realEnc realEncoder
 
 
-	req := request{api, b.correlation_id, nil, body}
+	req := request{api, b.correlation_id, clientID, body}
 
 
 	req.encode(&prepEnc)
 	req.encode(&prepEnc)
 	if prepEnc.err {
 	if prepEnc.err {

+ 5 - 2
brokerManager.go

@@ -11,14 +11,17 @@ type brokerKey struct {
 }
 }
 
 
 type brokerManager struct {
 type brokerManager struct {
+	client        *Client
 	defaultBroker *broker
 	defaultBroker *broker
 	leaders       map[brokerKey]*broker
 	leaders       map[brokerKey]*broker
 	leadersLock   sync.RWMutex
 	leadersLock   sync.RWMutex
 }
 }
 
 
-func newBrokerManager(host string, port int32) (bm *brokerManager, err error) {
+func newBrokerManager(client *Client, host string, port int32) (bm *brokerManager, err error) {
 	bm = new(brokerManager)
 	bm = new(brokerManager)
 
 
+	bm.client = client
+
 	bm.defaultBroker, err = newBroker(host, port)
 	bm.defaultBroker, err = newBroker(host, port)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
@@ -58,7 +61,7 @@ func (bm *brokerManager) refreshTopics(topics []*string) error {
 		return errors.New("kafka: lost all broker connections")
 		return errors.New("kafka: lost all broker connections")
 	}
 	}
 
 
-	responseChan, err := b.sendRequest(REQUEST_METADATA, &metadataRequest{topics})
+	responseChan, err := b.sendRequest(bm.client.id, REQUEST_METADATA, &metadataRequest{topics})
 	if err != nil {
 	if err != nil {
 		// TODO
 		// TODO
 	}
 	}

+ 1 - 1
client.go

@@ -8,7 +8,7 @@ type Client struct {
 func NewClient(id *string, host string, port int32) (client *Client, err error) {
 func NewClient(id *string, host string, port int32) (client *Client, err error) {
 	client = new(Client)
 	client = new(Client)
 	client.id = id
 	client.id = id
-	client.brokers, err = newBrokerManager(host, port)
+	client.brokers, err = newBrokerManager(client, host, port)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}