func (zyre *Zyre) SetHeader(name string, format string, args ...interface{}) *Zyre {
	payload := fmt.Sprintf(format, args...)
	zyre.requests <- &Cmd{ID: "SET HEADER", Payload: []string{name, payload}}
	return zyre
}
SetHeader sets node header; these are provided to other nodes during
discovery and come in each ENTER message.
package zyre
import (
	"context"
	"fmt"
	"time"
)
type Zyre struct {
	requests chan *Cmd    
	replies  chan *Cmd    
	events   chan *Event  
	uuid     string       
	name     string       
}
func NewZyre(ctx context.Context) *Zyre {
	zyre := &Zyre{
		events:   make(chan *Event, 1000),
		requests: make(chan *Cmd),
		replies:  make(chan *Cmd),
	}
	newNode(ctx, zyre.requests, zyre.replies, zyre.events)
	return zyre
}
func (zyre *Zyre) UUID() string {
	zyre.requests <- &Cmd{ID: "UUID"}
	r := <-zyre.replies
	zyre.uuid = r.Payload.(string)
	return zyre.uuid
}
func (zyre *Zyre) Name() string {
	zyre.requests <- &Cmd{ID: "NAME"}
	r := <-zyre.replies
	zyre.name = r.Payload.(string)
	return zyre.name
}
func (zyre *Zyre) SetName(name string) *Zyre {
	zyre.requests <- &Cmd{ID: "SET NAME", Payload: name}
	return zyre
}