def unSubscribe(self, connection_id, client_id, topic, sub_topic=None):
        """Remove a subscription from a topic."""

        topic = SubscriptionManager.getTopicKey(topic, sub_topic)
        key_name = GaeSubscription.getKeyName(connection_id, client_id, topic)

        subscription = GaeSubscription.get_by_key_name(key_name)
        db.delete(subscription)
    def subscribe(self, connection_id, client_id, topic, sub_topic=None, selector=None):
        """Add a subscription to a topic."""

        topic = SubscriptionManager.getTopicKey(topic, sub_topic)
        key_name = GaeSubscription.getKeyName(connection_id, client_id, topic)
        subscription = GaeSubscription(key_name=key_name,
            connection_id=connection_id, client_id=client_id, topic=topic)
        subscription.put()
Beispiel #3
0
    def unSubscribe(self, connection_id, client_id, topic, sub_topic=None):
        """Remove a subscription from a topic."""

        topic = SubscriptionManager.getTopicKey(topic, sub_topic)
        key_name = GaeSubscription.getKeyName(connection_id, client_id, topic)

        subscription = GaeSubscription.get_by_key_name(key_name)
        db.delete(subscription)
    def iterSubscribers(self, topic, sub_topic=None):
        """Iterate through all connection ids subscribed to a topic."""

        topic = SubscriptionManager.getTopicKey(topic, sub_topic)

        connection_ids = {} # Keep track of unique IDs.

        query = GaeSubscription.all()
        query.filter('topic = ', topic)
        for subscription in query:
            if subscription.connection_id in connection_ids:
                continue
            
            connection_ids[subscription.connection_id] = True
            yield subscription.connection_id
Beispiel #5
0
    def subscribe(self,
                  connection_id,
                  client_id,
                  topic,
                  sub_topic=None,
                  selector=None):
        """Add a subscription to a topic."""

        topic = SubscriptionManager.getTopicKey(topic, sub_topic)
        key_name = GaeSubscription.getKeyName(connection_id, client_id, topic)
        subscription = GaeSubscription(key_name=key_name,
                                       connection_id=connection_id,
                                       client_id=client_id,
                                       topic=topic)
        subscription.put()
Beispiel #6
0
    def iterSubscribers(self, topic, sub_topic=None):
        """Iterate through all connection ids subscribed to a topic."""

        topic = SubscriptionManager.getTopicKey(topic, sub_topic)

        connection_ids = {}  # Keep track of unique IDs.

        query = GaeSubscription.all()
        query.filter('topic = ', topic)
        for subscription in query:
            if subscription.connection_id in connection_ids:
                continue

            connection_ids[subscription.connection_id] = True
            yield subscription.connection_id