func NewConnector(router router.Router, sender Sender, config Config) (Connector, error) { kvs, err := router.KVStore() if err != nil { return nil, err } if config.Workers <= 0 { config.Workers = DefaultWorkers } c := &connector{ config: config, sender: sender, manager: NewManager(config.Schema, kvs), queue: NewQueue(sender, config.Workers), router: router, kvstore: kvs, logger: logger.WithField("name", config.Name), } c.initMuxRouter() return c, nil }