Beispiel #1
0
// NewGCMConnector creates a new GCMConnector without starting it
func NewGCMConnector(router server.Router, prefix string, gcmAPIKey string, nWorkers int) (*GCMConnector, error) {

	kvStore, err := router.KVStore()
	if err != nil {
		return nil, err
	}

	conn := &GCMConnector{
		Sender:        &gcm.Sender{ApiKey: gcmAPIKey},
		router:        router,
		kvStore:       kvStore,
		prefix:        prefix,
		routerC:       make(chan *server.MessageForRoute, 1000*nWorkers),
		stopC:         make(chan bool, 1),
		nWorkers:      nWorkers,
		broadcastPath: removeTrailingSlash(prefix) + "/broadcast",
	}

	return conn, nil
}