PSocketProcessBridge.ipdl (1525B)
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* vim: set ts=2 et sw=2 tw=80: */ 3 /* This Source Code Form is subject to the terms of the Mozilla Public 4 * License, v. 2.0. If a copy of the MPL was not distributed with this file, 5 * You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 7 include protocol PBackgroundDataBridge; 8 9 #ifdef MOZ_WEBRTC 10 include protocol PMediaTransport; 11 #endif // MOZ_WEBRTC 12 13 14 namespace mozilla { 15 namespace net { 16 17 /** 18 * PSocketProcessBridge is the IPC protocol between the main thread in 19 * the content process and the main thread in the socket process. 20 * We use this to create PBackgroundDataBridge and PMediaTransport protocols 21 * between content process and socket process. 22 * Once created, PSocketProcessBridgeChild is the actor that lives in 23 * content process and PSocketProcessBridgeParent lives in 24 * socket process. 25 */ 26 [NeedsOtherPid, ParentProc=Socket, ChildProc=Content] 27 sync protocol PSocketProcessBridge 28 { 29 parent: 30 /** 31 * For setting up PBackgroundDataBridge protocol, we use this message to 32 * create a background task queue and the BackgroundDataBridgeParent actor in 33 * socket process. 34 */ 35 async InitBackgroundDataBridge(Endpoint<PBackgroundDataBridgeParent> aEndpoint, 36 uint64_t aChannelID); 37 38 #ifdef MOZ_WEBRTC 39 /** 40 * Similar to the above, this message is for PMediaTransport. 41 */ 42 async InitMediaTransport(Endpoint<PMediaTransportParent> aEndpoint); 43 #endif // MOZ_WEBRTC 44 45 }; 46 47 } 48 }