[CalendarServer-changes] [12773] CalendarServer/trunk/calendarserver/webadmin
source_changes at macosforge.org
source_changes at macosforge.org
Thu Feb 27 16:23:44 PST 2014
Revision: 12773
http://trac.calendarserver.org//changeset/12773
Author: wsanchez at apple.com
Date: 2014-02-27 16:23:44 -0800 (Thu, 27 Feb 2014)
Log Message:
-----------
Send EOF when we run out of events; blocking doesn't work when run in server for some reason.
Modified Paths:
--------------
CalendarServer/trunk/calendarserver/webadmin/eventsource.py
CalendarServer/trunk/calendarserver/webadmin/test/test_eventsource.py
Modified: CalendarServer/trunk/calendarserver/webadmin/eventsource.py
===================================================================
--- CalendarServer/trunk/calendarserver/webadmin/eventsource.py 2014-02-27 23:46:45 UTC (rev 12772)
+++ CalendarServer/trunk/calendarserver/webadmin/eventsource.py 2014-02-28 00:23:44 UTC (rev 12773)
@@ -153,9 +153,11 @@
)
# Keep track of the event streams
- request.addResponseFilter(
- lambda r: self._streams.remove(response.stream)
- )
+ def cleanupFilter(_request, _response):
+ self._streams.remove(response.stream)
+ return _response
+
+ request.addResponseFilter(cleanupFilter)
self._streams.add(response.stream)
return response
@@ -240,6 +242,10 @@
return succeed(b"")
+ # This causes the client to poll, which is undesirable, but the
+ # deferred below doesn't seem to work in real use...
+ return succeed(None)
+
d = Deferred()
self._deferredRead = d
return d
Modified: CalendarServer/trunk/calendarserver/webadmin/test/test_eventsource.py
===================================================================
--- CalendarServer/trunk/calendarserver/webadmin/test/test_eventsource.py 2014-02-27 23:46:45 UTC (rev 12772)
+++ CalendarServer/trunk/calendarserver/webadmin/test/test_eventsource.py 2014-02-28 00:23:44 UTC (rev 12773)
@@ -203,14 +203,25 @@
)
)
- # The next read should block on new events.
+
+ @inlineCallbacks
+ def test_streamWaitForEvents(self):
+ """
+ Stream reading blocks on additional events.
+ """
+ resource = self.eventSourceResource()
+ response = self.render(resource)
+
+ # Read should block on new events.
d = response.stream.read()
self.assertFalse(d.called)
d.addErrback(lambda f: None)
d.cancel()
+ test_streamWaitForEvents.todo = "Feature disabled; needs debugging"
+
@inlineCallbacks
def test_streamNewEvents(self):
"""
@@ -260,6 +271,7 @@
d.addErrback(lambda f: None)
d.cancel()
+ test_streamNewEvents.todo = "Feature disabled; needs debugging"
@implementer(IEventDecoder)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140227/a68feffc/attachment-0001.html>
More information about the calendarserver-changes
mailing list