Not sure, never tested. This is just a causal observation
self.async_result = self.run_pool.apply_async(self._run_client, (self.id,))
options = obj_to_utf8_bytes({"skipInitial": self.skip_initial})
self.pool.map(self._send, (
server_pb2.RealTimeRequest(token=self.token, dbType=self.db_type, project=self.project_id,
group=self.collection, options=options,
type=constants.TypeRealtimeSubscribe, id=self.id,
where=obj_to_utf8_bytes(self.find)),))
This is done everytime subscribe is called.
This may result in self.subscription being overwritten everytime, resulting in wrong functions being called