+ def mark(self,stream_name):
+ self.streams[stream_name]=time.time()
+
+ def clean_streams(self,timeout=15):
+ self._resultlock.acquire()
+ to_stop=set()
+ for stream,lasttime in self.streams.iteritems():
+ if time.time()-lasttime>timeout:
+ to_stop.add(stream)
+ for stream in to_stop:
+ self.stopBroadcast(stream)
+ self._resultlock.release()
+