Make EventStream.read() defer on new events.


git-svn-id: https://svn.calendarserver.org/repository/calendarserver@12768 e27351fd-9f3e-4f54-a53b-843176b1656c
ignore subprojects/


git-svn-id: https://svn.calendarserver.org/repository/calendarserver@12769 e27351fd-9f3e-4f54-a53b-843176b1656c
DictionaryEventDecoder is an IEventDecoder


git-svn-id: https://svn.calendarserver.org/repository/calendarserver@12770 e27351fd-9f3e-4f54-a53b-843176b1656c
git-svn-id: https://svn.calendarserver.org/repository/calendarserver@12771 e27351fd-9f3e-4f54-a53b-843176b1656c
git-svn-id: https://svn.calendarserver.org/repository/calendarserver@12772 e27351fd-9f3e-4f54-a53b-843176b1656c
Send EOF when we run out of events; blocking doesn't work when run in server for some reason.


git-svn-id: https://svn.calendarserver.org/repository/calendarserver@12773 e27351fd-9f3e-4f54-a53b-843176b1656c
Use new eventsource module.


git-svn-id: https://svn.calendarserver.org/repository/calendarserver@12774 e27351fd-9f3e-4f54-a53b-843176b1656c
cosmetic


git-svn-id: https://svn.calendarserver.org/repository/calendarserver@12775 e27351fd-9f3e-4f54-a53b-843176b1656c
Poll for work activity


git-svn-id: https://svn.calendarserver.org/repository/calendarserver@12776 e27351fd-9f3e-4f54-a53b-843176b1656c
poll in render()


git-svn-id: https://svn.calendarserver.org/repository/calendarserver@12777 e27351fd-9f3e-4f54-a53b-843176b1656c