// HandleMessage handles the Openchain messages for the Peer. func (d *handler) HandleMessage(msg *pb.Event) error { producerLogger.Debug("Handling Event") eventsObj := msg.GetRegister() if eventsObj == nil { return fmt.Errorf("Invalid object from consumer %v", msg.GetEvent()) } if err := d.register(eventsObj.Events); err != nil { return fmt.Errorf("Could not register events %s", err) } //TODO return supported events.. for now just return the received msg if err := d.ChatStream.Send(msg); err != nil { return fmt.Errorf("Error sending response to %v: %s", msg, err) } d.registered = true return nil }