Confirmed users
29
edits
Junior Hsu (talk | contribs) (Created page with "== Introduction == The page explains the implementation detail of core service. == Architecture == * PresentationService * PresentationSessionInfo * PresentationSessionTransp...") |
Junior Hsu (talk | contribs) (add some description of classes) |
||
Line 4: | Line 4: | ||
== Architecture == | == Architecture == | ||
* PresentationService | * PresentationService | ||
A mediator among WebAPI classes, IPC and |PresentationSessionInfo|. | |||
Live in Chrome Process. | |||
* PresentationSessionInfo | * PresentationSessionInfo | ||
Maintain grotty details around session transports, receiver page and connection state. | |||
Session infos use the established control channel to negotiate the SDP of session transport and create a transport builder to do the transport establishment. | |||
Two subclasses, |PresentationControllingInfo| and |PresentationPresentingInfo|, stands for the controller and presenter. Presenting info will establish the transport after the receiver's page ready. | |||
Live in Chrome Process. | |||
* PresentationSessionTransport | * PresentationSessionTransport | ||
Maintain the underlying transport. | |||
We have TCP transport now and work on RTCDataChannel transport. | |||
TCP transport lives in Chrome process. | |||
RTCDataChannel lives with the DOM. That is, live in content process in e10s mode. | |||
* PresentationIPCService | * PresentationIPCService | ||
* PresentationIPCSessionInfo | * PresentationIPCSessionInfo |