gecko-dev/ipc/glue/PSendStream.ipdl

34 lines
1008 B
Plaintext

/* 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