diff options
Diffstat (limited to 'ipc/glue/PSendStream.ipdl')
-rw-r--r-- | ipc/glue/PSendStream.ipdl | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/ipc/glue/PSendStream.ipdl b/ipc/glue/PSendStream.ipdl new file mode 100644 index 000000000..8f171672b --- /dev/null +++ b/ipc/glue/PSendStream.ipdl @@ -0,0 +1,33 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +include protocol PBackground; +include protocol PContent; +include protocol PContentBridge; + +namespace mozilla { +namespace ipc { + +protocol PSendStream +{ + manager PBackground or PContent or PContentBridge; + +parent: + async Buffer(nsCString aBuffer); + async Close(nsresult aRv); + +child: + // The parent side has hit an error condition and has requested the child + // actor issue a Close() message. The close must be initiated by the child + // to avoid racing with an in-flight Buffer() message. + async RequestClose(nsresult aRv); + + // Stream is always destroyed from the parent side. This occurs if the + // parent encounters an error while writing to its pipe or if the child + // signals the stream should close by SendClose(). + async __delete__(); +}; + +} // namespace ipc +} // namespace mozilla |