void StreamControl::CloseAllReadStreams() { AssertOwningThread(); ReadStreamList::ForwardIterator iter(mReadStreamList); while (iter.HasMore()) { iter.GetNext()->CloseStream(); } }
void StreamControl::NoteClosed(ReadStream::Controllable* aReadStream, const nsID& aId) { AssertOwningThread(); ForgetReadStream(aReadStream); NoteClosedAfterForget(aId); }
void StreamControl::AddReadStream(ReadStream::Controllable* aReadStream) { AssertOwningThread(); MOZ_ASSERT(aReadStream); MOZ_ASSERT(!mReadStreamList.Contains(aReadStream)); mReadStreamList.AppendElement(aReadStream); }
void StreamControl::CloseAllReadStreamsWithoutReporting() { AssertOwningThread(); ReadStreamList::ForwardIterator iter(mReadStreamList); while (iter.HasMore()) { RefPtr<ReadStream::Controllable> stream = iter.GetNext(); // Note, we cannot trigger IPC traffic here. So use // CloseStreamWithoutReporting(). stream->CloseStreamWithoutReporting(); } }
void StreamControl::CloseReadStreams(const nsID& aId) { AssertOwningThread(); DebugOnly<uint32_t> closedCount = 0; ReadStreamList::ForwardIterator iter(mReadStreamList); while (iter.HasMore()) { nsRefPtr<ReadStream::Controllable> stream = iter.GetNext(); if (stream->MatchId(aId)) { stream->CloseStream(); closedCount += 1; } } MOZ_ASSERT(closedCount > 0); }
void StreamControl::CloseReadStreams(const nsID& aId) { AssertOwningThread(); #ifdef MOZ_DIAGNOSTIC_ASSERT_ENABLED uint32_t closedCount = 0; #endif ReadStreamList::ForwardIterator iter(mReadStreamList); while (iter.HasMore()) { RefPtr<ReadStream::Controllable> stream = iter.GetNext(); if (stream->MatchId(aId)) { stream->CloseStream(); #ifdef MOZ_DIAGNOSTIC_ASSERT_ENABLED closedCount += 1; #endif } } MOZ_DIAGNOSTIC_ASSERT(closedCount > 0); }
void StreamControl::ForgetReadStream(ReadStream::Controllable* aReadStream) { AssertOwningThread(); MOZ_ALWAYS_TRUE(mReadStreamList.RemoveElement(aReadStream)); }