func NewBroker(opts ...broker.Option) broker.Broker { options := broker.Options{ // Default codec Codec: json.NewCodec(), } for _, o := range opts { o(&options) } var cAddrs []string for _, addr := range options.Addrs { if len(addr) == 0 { continue } if !strings.HasPrefix(addr, "nats://") { addr = "nats://" + addr } cAddrs = append(cAddrs, addr) } if len(cAddrs) == 0 { cAddrs = []string{nats.DefaultURL} } return &nbroker{ addrs: cAddrs, opts: options, } }
func NewBroker(opts ...broker.Option) broker.Broker { options := broker.Options{ // default to json codec Codec: json.NewCodec(), } for _, o := range opts { o(&options) } var cAddrs []string for _, addr := range options.Addrs { if len(addr) == 0 { continue } cAddrs = append(cAddrs, addr) } if len(cAddrs) == 0 { cAddrs = []string{"127.0.0.1:9092"} } return &kBroker{ addrs: cAddrs, } }
func NewBroker(opts ...broker.Option) broker.Broker { options := broker.Options{ // Default codec Codec: json.NewCodec(), } for _, o := range opts { o(&options) } var cAddrs []string for _, addr := range options.Addrs { if len(addr) > 0 { cAddrs = append(cAddrs, addr) } } if len(cAddrs) == 0 { cAddrs = []string{"127.0.0.1:4150"} } return &nsqBroker{ addrs: cAddrs, opts: options, config: nsq.NewConfig(), } }
// NewBroker returns a new broker implemented using the Redis pub/sub // protocol. The connection address may be a fully qualified IANA address such // as: redis://user:secret@localhost:6379/0?foo=bar&qux=baz func NewBroker(opts ...broker.Option) broker.Broker { // Default options. bopts := &brokerOptions{ maxIdle: DefaultMaxIdle, maxActive: DefaultMaxActive, idleTimeout: DefaultIdleTimeout, connectTimeout: DefaultConnectTimeout, readTimeout: DefaultReadTimeout, writeTimeout: DefaultWriteTimeout, } // Initialize with empty broker options. options := broker.Options{ Codec: json.NewCodec(), Context: context.WithValue(context.Background(), optionsKey, bopts), } for _, o := range opts { o(&options) } return &redisBroker{ opts: options, bopts: bopts, } }
func newBroker(opts ...broker.Option) broker.Broker { options := broker.Options{ // Default codec Codec: json.NewCodec(), } for _, o := range opts { o(&options) } addrs := setAddrs(options.Addrs) client := newClient(addrs, options) return &mqttBroker{ opts: options, client: client, addrs: addrs, } }