gecko-dev/netwerk/protocol/websocket
Kris Maglione 635fc0e1ae Bug 1405286: Part 1 - Allow retrieving the delivery target from retargetable requests. r=dragana
After data delivery for a request has been retargeted, there's no reliable way
to get the appropriate event target to re-dispatch data events after
asynchronous processing.


While it's technically possible to retrieve the current thread from
OnDataAvailable callbacks and re-use that for later dispatch, that approach
has some issues:

1) It's not currently possible to reliably map the current thread to the
thread pool that owns it. That means that if data delivery is being targetted
to a thread pool, attempts to redispatch events to the previous delivery
thread might lead to long delays when one thread in a pool is blocked.

2) If a filter wishes to dispatch data events to the wrapped listeners before
it's recieved any data (as extensions StreamFilters sometimes do), there's no
way to determine the proper event target without waiting for initial data to
be received.


Simply returning the correct event target from the request solves both of
these problems.

MozReview-Commit-ID: CJxq7O4399R

--HG--
extra : rebase_source : db2f659ecad16daafdbcc108d7b1a51ea1af31f9
2017-10-14 18:30:38 -07:00
..
BaseWebSocketChannel.cpp Bug 1405286: Part 1 - Allow retrieving the delivery target from retargetable requests. r=dragana 2017-10-14 18:30:38 -07:00
BaseWebSocketChannel.h Bug 1272100: Websocket changes in preparation of FlyWeb landing. Make websocket code support acting as the server side of a websocket connection. r=michal 2016-06-01 02:35:33 -07:00
IPCTransportProvider.cpp Bug 1310127 - Part 3: Use MOZ_MUST_USE in netwerk/protocol/http r=mcmanus 2017-01-12 17:48:45 +08:00
IPCTransportProvider.h Bug 1263991 part 6: Add e10s support for incoming websocket connections to FlyWebPublishedServer. r=baku,michal 2016-06-07 02:46:03 -07:00
PTransportProvider.ipdl Bug 1263991 part 6: Add e10s support for incoming websocket connections to FlyWebPublishedServer. r=baku,michal 2016-06-07 02:46:03 -07:00
PWebSocket.ipdl Bug 1359005 - Cleanup the use of PBlob in StructuredCloneHolder - part 1 - protocols, r=smaug 2017-05-23 07:49:40 +02:00
PWebSocketEventListener.ipdl
WebSocketChannel.cpp Bug 1404198: Part 2c - Switch to NS_NewTimer* in necko. r=njn 2017-10-15 23:12:02 -07:00
WebSocketChannel.h Bug 1382172 - Name nsITimerCallback instances in native implementation. r=billm 2017-07-27 02:18:20 +08:00
WebSocketChannelChild.cpp Bug 1372405 - Provide names for all runnables in the tree (r=froydnj) 2017-06-26 14:19:58 -07:00
WebSocketChannelChild.h Bug 1343747 - Part 1: Label runnables in WebSocketChannelChild. r=mayhemer 2017-06-13 20:14:00 -04:00
WebSocketChannelParent.cpp Bug 1339713 - Use IPCStream everywhere - part 4 - PWebSocket, r=smaug 2017-03-09 14:10:24 +01:00
WebSocketChannelParent.h Bug 1339713 - Use IPCStream everywhere - part 4 - PWebSocket, r=smaug 2017-03-09 14:10:24 +01:00
WebSocketEventListenerChild.cpp Bug 1343747 - Part 2: Label runnables in WebSocketEventListenerChild. r=mayhemer 2017-06-13 20:15:00 -04:00
WebSocketEventListenerChild.h Bug 1343747 - Part 2: Label runnables in WebSocketEventListenerChild. r=mayhemer 2017-06-13 20:15:00 -04:00
WebSocketEventListenerParent.cpp Bug 1323949 - Use MOZ_MUST_USE in netwerk/protocol/websocket r=valentin 2016-11-23 18:00:42 +08:00
WebSocketEventListenerParent.h Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm 2016-11-15 04:26:00 +01:00
WebSocketEventService.cpp Bug 1377215 - Add WebSocketEventService::Get. r=mcmanus 2017-07-02 18:02:37 +02:00
WebSocketEventService.h Bug 1377215 - Add WebSocketEventService::Get. r=mcmanus 2017-07-02 18:02:37 +02:00
WebSocketFrame.cpp Bug 1360236 - make gSocketThread an internal implementation detail of nsSocketTransportService; r=mcmanus 2017-04-27 14:34:42 -04:00
WebSocketFrame.h Bug 1262671 - void** -> PickleIterator (r=froydnj) 2016-05-27 09:57:38 -07:00
WebSocketLog.h
moz.build Bug 1335181 - add BUG_COMPONENT to netwerk/* and dom/network/* files. r=mcmanus 2017-02-02 06:33:47 -05:00
nsITransportProvider.idl Bug 1323949 - Use MOZ_MUST_USE in netwerk/protocol/websocket r=valentin 2016-11-23 18:00:42 +08:00
nsIWebSocketChannel.idl Bug 1323949 - Use MOZ_MUST_USE in netwerk/protocol/websocket r=valentin 2016-11-23 18:00:42 +08:00
nsIWebSocketEventService.idl Bug 1373675 - Add hasListenerFor to nsIWebSocketEventService. r=mcmanus 2017-06-16 07:58:00 -04:00
nsIWebSocketListener.idl Bug 1323949 - Use MOZ_MUST_USE in netwerk/protocol/websocket r=valentin 2016-11-23 18:00:42 +08:00