From d9b1c6a72fd56ff4bffc630e7ec19f3b78eaca18 Mon Sep 17 00:00:00 2001 From: "warren%netscape.com" Date: Tue, 8 Jun 1999 20:57:32 +0000 Subject: [PATCH] Moved WriteFrom to nsIBufferOutputStream. Made necko pass around buffer streams. git-svn-id: svn://10.0.0.236/trunk@34249 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/editor/txmgr/tests/TestTXMgr.cpp | 5 -- mozilla/mailnews/mime/src/plugin_inst.h | 4 -- mozilla/modules/plugin/bad/badapter.cpp | 5 -- .../plugin/base/src/nsPluginInstancePeer.cpp | 5 -- .../plugin/nglsrc/nsPluginInstancePeer.cpp | 5 -- .../plugin/samples/backward/badapter.cpp | 5 -- mozilla/modules/plugin/src/npglue.h | 5 -- .../plugin/src/nsPluginManagerStream.h | 5 -- .../netwerk/base/public/nsIStreamListener.idl | 6 +- .../base/src/nsAsyncStreamListener.cpp | 20 +++---- mozilla/netwerk/base/src/nsFileTransport.cpp | 3 +- mozilla/netwerk/base/src/nsFileTransport.h | 4 +- .../netwerk/base/src/nsSocketTransport.cpp | 51 ++++++---------- mozilla/netwerk/base/src/nsSocketTransport.h | 8 +-- .../base/src/nsSocketTransportService.cpp | 28 ++++----- .../base/src/nsSocketTransportService.h | 4 -- .../base/src/nsSocketTransportStreams.cpp | 28 +++++---- .../base/src/nsSocketTransportStreams.h | 13 ++-- .../netwerk/base/src/nsSyncStreamListener.cpp | 21 +++---- .../netwerk/protocol/ftp/src/nsFTPChannel.cpp | 8 +-- .../netwerk/protocol/ftp/src/nsFTPChannel.h | 2 +- .../ftp/src/nsFtpConnectionThread.cpp | 16 +++-- .../ftp/src/nsFtpStreamListenerEvent.cpp | 7 +-- .../ftp/src/nsFtpStreamListenerEvent.h | 8 +-- .../protocol/http/src/nsHTTPRequest.cpp | 11 +++- .../netwerk/protocol/http/src/nsHTTPRequest.h | 4 +- .../http/src/nsHTTPResponseListener.cpp | 8 +-- .../http/src/nsHTTPResponseListener.h | 6 +- mozilla/netwerk/test/TestFileInput.cpp | 13 ++-- mozilla/netwerk/test/TestProtocols.cpp | 6 +- mozilla/netwerk/test/TestSocketIO.cpp | 14 +++-- mozilla/netwerk/test/TestSocketInput.cpp | 6 +- mozilla/netwerk/test/TestSocketTransport.cpp | 17 +++--- mozilla/netwerk/test/nettest.cpp | 11 ++-- mozilla/network/cnvts/nsNetConverterStream.h | 5 -- mozilla/network/module/nsNetStream.h | 15 ----- mozilla/rdf/tests/rdfcat/rdfcat.cpp | 5 -- mozilla/rdf/tests/rdfsink/rdfsink.cpp | 5 -- mozilla/xpcom/build/dlldeps.cpp | 4 +- mozilla/xpcom/ds/nsBuffer.cpp | 8 ++- mozilla/xpcom/ds/nsIBuffer.h | 12 ++-- mozilla/xpcom/io/Makefile.in | 15 +++-- mozilla/xpcom/io/makefile.win | 15 +++-- mozilla/xpcom/io/nsIBufferInputStream.idl | 12 ++++ mozilla/xpcom/io/nsIBufferOutputStream.idl | 16 +++++ mozilla/xpcom/io/nsIFileStream.cpp | 5 -- mozilla/xpcom/io/nsIOutputStream.idl | 15 ----- mozilla/xpcom/io/nsIStringStream.cpp | 5 -- mozilla/xpcom/io/nsPipe.cpp | 60 +++++++++++++++---- mozilla/xpcom/tests/TestPipes.cpp | 12 ++-- 50 files changed, 279 insertions(+), 292 deletions(-) diff --git a/mozilla/editor/txmgr/tests/TestTXMgr.cpp b/mozilla/editor/txmgr/tests/TestTXMgr.cpp index 1d795975710..28ae1af5a34 100644 --- a/mozilla/editor/txmgr/tests/TestTXMgr.cpp +++ b/mozilla/editor/txmgr/tests/TestTXMgr.cpp @@ -447,11 +447,6 @@ public: fflush(stdout); return NS_OK; } - NS_IMETHOD WriteFrom(nsIInputStream* fromStream, PRUint32 count, - PRUint32 *aWriteCount) - { - return NS_ERROR_NOT_IMPLEMENTED; - } NS_IMETHOD Flush() { fflush(stdout); diff --git a/mozilla/mailnews/mime/src/plugin_inst.h b/mozilla/mailnews/mime/src/plugin_inst.h index dbd516a3ea2..71f7e3b6f40 100644 --- a/mozilla/mailnews/mime/src/plugin_inst.h +++ b/mozilla/mailnews/mime/src/plugin_inst.h @@ -56,10 +56,6 @@ public: NS_IMETHOD Write(const char *aBuf, PRUint32 aLen, PRUint32 *aWriteLength); - NS_IMETHOD WriteFrom(nsIInputStream* fromStream, PRUint32 count, - PRUint32 *aWriteCount) { - return NS_ERROR_NOT_IMPLEMENTED; - } NS_IMETHOD Flush(void) { return NS_OK; } diff --git a/mozilla/modules/plugin/bad/badapter.cpp b/mozilla/modules/plugin/bad/badapter.cpp index cd9399706af..ac9a176316f 100644 --- a/mozilla/modules/plugin/bad/badapter.cpp +++ b/mozilla/modules/plugin/bad/badapter.cpp @@ -216,11 +216,6 @@ public: NS_IMETHOD Write(const char* aBuf, PRUint32 aCount, PRUint32 *aWriteCount); - NS_IMETHOD WriteFrom(nsIInputStream* fromStream, PRUint32 count, - PRUint32 *aWriteCount) { - return NS_ERROR_NOT_IMPLEMENTED; - } - NS_IMETHOD Flush() { return NS_OK; } diff --git a/mozilla/modules/plugin/base/src/nsPluginInstancePeer.cpp b/mozilla/modules/plugin/base/src/nsPluginInstancePeer.cpp index c03c84e48cd..10d08448089 100644 --- a/mozilla/modules/plugin/base/src/nsPluginInstancePeer.cpp +++ b/mozilla/modules/plugin/base/src/nsPluginInstancePeer.cpp @@ -166,11 +166,6 @@ public: NS_IMETHOD Write(const char* aBuf, PRUint32 aCount, PRUint32 *aWriteCount); - NS_IMETHOD WriteFrom(nsIInputStream* fromStream, PRUint32 count, - PRUint32 *aWriteCount) { - return NS_ERROR_NOT_IMPLEMENTED; - } - NS_IMETHOD Flush() { return NS_OK; } diff --git a/mozilla/modules/plugin/nglsrc/nsPluginInstancePeer.cpp b/mozilla/modules/plugin/nglsrc/nsPluginInstancePeer.cpp index c03c84e48cd..10d08448089 100644 --- a/mozilla/modules/plugin/nglsrc/nsPluginInstancePeer.cpp +++ b/mozilla/modules/plugin/nglsrc/nsPluginInstancePeer.cpp @@ -166,11 +166,6 @@ public: NS_IMETHOD Write(const char* aBuf, PRUint32 aCount, PRUint32 *aWriteCount); - NS_IMETHOD WriteFrom(nsIInputStream* fromStream, PRUint32 count, - PRUint32 *aWriteCount) { - return NS_ERROR_NOT_IMPLEMENTED; - } - NS_IMETHOD Flush() { return NS_OK; } diff --git a/mozilla/modules/plugin/samples/backward/badapter.cpp b/mozilla/modules/plugin/samples/backward/badapter.cpp index cd9399706af..ac9a176316f 100644 --- a/mozilla/modules/plugin/samples/backward/badapter.cpp +++ b/mozilla/modules/plugin/samples/backward/badapter.cpp @@ -216,11 +216,6 @@ public: NS_IMETHOD Write(const char* aBuf, PRUint32 aCount, PRUint32 *aWriteCount); - NS_IMETHOD WriteFrom(nsIInputStream* fromStream, PRUint32 count, - PRUint32 *aWriteCount) { - return NS_ERROR_NOT_IMPLEMENTED; - } - NS_IMETHOD Flush() { return NS_OK; } diff --git a/mozilla/modules/plugin/src/npglue.h b/mozilla/modules/plugin/src/npglue.h index 3cd4e282fd7..f65a001b63c 100644 --- a/mozilla/modules/plugin/src/npglue.h +++ b/mozilla/modules/plugin/src/npglue.h @@ -676,11 +676,6 @@ public: NS_IMETHOD Write(const char* aBuf, PRInt32 aCount, PRInt32 *resultingCount); - NS_IMETHOD WriteFrom(nsIInputStream* fromStream, PRUint32 count, - PRUint32 *aWriteCount) { - return NS_ERROR_NOT_IMPLEMENTED; - } - NS_IMETHOD Flush() { return NS_OK; } diff --git a/mozilla/modules/plugin/src/nsPluginManagerStream.h b/mozilla/modules/plugin/src/nsPluginManagerStream.h index 3e1f51dcb86..0f8f9e1a820 100644 --- a/mozilla/modules/plugin/src/nsPluginManagerStream.h +++ b/mozilla/modules/plugin/src/nsPluginManagerStream.h @@ -43,11 +43,6 @@ public: NS_IMETHOD Write(const char* aBuf, PRInt32 aCount, PRInt32 *resultingCount); - NS_IMETHOD WriteFrom(nsIInputStream* fromStream, PRUint32 count, - PRUint32 *aWriteCount) { - return NS_ERROR_NOT_IMPLEMENTED; - } - NS_IMETHOD Flush() { return NS_OK; } diff --git a/mozilla/netwerk/base/public/nsIStreamListener.idl b/mozilla/netwerk/base/public/nsIStreamListener.idl index d52ba00109e..0833d3db422 100644 --- a/mozilla/netwerk/base/public/nsIStreamListener.idl +++ b/mozilla/netwerk/base/public/nsIStreamListener.idl @@ -18,14 +18,14 @@ #include "nsIStreamObserver.idl" -interface nsIInputStream; +interface nsIBufferInputStream; interface nsIEventQueue; [scriptable, uuid(1a637020-1482-11d3-9333-00104ba0fd40)] interface nsIStreamListener : nsIStreamObserver { void OnDataAvailable(in nsISupports ctxt, - in nsIInputStream inStr, + in nsIBufferInputStream inStr, in unsigned long sourceOffset, in unsigned long count); }; @@ -44,6 +44,6 @@ NS_NewAsyncStreamListener(nsIStreamListener* *result, // in an input stream to be read by another thread. extern nsresult NS_NewSyncStreamListener(nsIStreamListener* *listener, - nsIInputStream* *inStream); + nsIBufferInputStream* *inStream); %} diff --git a/mozilla/netwerk/base/src/nsAsyncStreamListener.cpp b/mozilla/netwerk/base/src/nsAsyncStreamListener.cpp index 17090959d59..f530f0a5fa7 100644 --- a/mozilla/netwerk/base/src/nsAsyncStreamListener.cpp +++ b/mozilla/netwerk/base/src/nsAsyncStreamListener.cpp @@ -18,7 +18,7 @@ #include "nsIStreamObserver.h" #include "nsIStreamListener.h" -#include "nsIInputStream.h" +#include "nsIBufferInputStream.h" #include "nsIString.h" #include "nsCRT.h" #include "nsIEventQueue.h" @@ -97,7 +97,7 @@ public: } NS_IMETHOD OnDataAvailable(nsISupports* context, - nsIInputStream *aIStream, + nsIBufferInputStream *aIStream, PRUint32 aSourceOffset, PRUint32 aLength); @@ -451,14 +451,14 @@ public: mIStream(nsnull), mLength(0) {} virtual ~nsOnDataAvailableEvent(); - nsresult Init(nsIInputStream* aIStream, PRUint32 aSourceOffset, + nsresult Init(nsIBufferInputStream* aIStream, PRUint32 aSourceOffset, PRUint32 aLength); NS_IMETHOD HandleEvent(); protected: - nsIInputStream* mIStream; - PRUint32 mSourceOffset; - PRUint32 mLength; + nsIBufferInputStream* mIStream; + PRUint32 mSourceOffset; + PRUint32 mLength; }; nsOnDataAvailableEvent::~nsOnDataAvailableEvent() @@ -467,7 +467,7 @@ nsOnDataAvailableEvent::~nsOnDataAvailableEvent() } nsresult -nsOnDataAvailableEvent::Init(nsIInputStream* aIStream, PRUint32 aSourceOffset, +nsOnDataAvailableEvent::Init(nsIBufferInputStream* aIStream, PRUint32 aSourceOffset, PRUint32 aLength) { mSourceOffset = aSourceOffset; @@ -486,9 +486,9 @@ nsOnDataAvailableEvent::HandleEvent() NS_IMETHODIMP nsAsyncStreamListener::OnDataAvailable(nsISupports* context, - nsIInputStream *aIStream, - PRUint32 aSourceOffset, - PRUint32 aLength) + nsIBufferInputStream *aIStream, + PRUint32 aSourceOffset, + PRUint32 aLength) { nsresult rv = GetStatus(); if (NS_FAILED(rv)) return rv; diff --git a/mozilla/netwerk/base/src/nsFileTransport.cpp b/mozilla/netwerk/base/src/nsFileTransport.cpp index 85e73dcffbd..aba5ad6cb14 100644 --- a/mozilla/netwerk/base/src/nsFileTransport.cpp +++ b/mozilla/netwerk/base/src/nsFileTransport.cpp @@ -24,6 +24,7 @@ #include "nsIFileStream.h" #include "nsFileSpec.h" #include "nsIBuffer.h" +#include "nsIBufferInputStream.h" static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); @@ -212,7 +213,7 @@ nsFileTransport::OpenInputStream(nsIInputStream* *result) nsresult rv; nsIStreamListener* syncListener; - nsIInputStream* inStr; + nsIBufferInputStream* inStr; rv = NS_NewSyncStreamListener(&syncListener, &inStr); if (NS_FAILED(rv)) return rv; diff --git a/mozilla/netwerk/base/src/nsFileTransport.h b/mozilla/netwerk/base/src/nsFileTransport.h index b867f209913..9628a7f80f3 100644 --- a/mozilla/netwerk/base/src/nsFileTransport.h +++ b/mozilla/netwerk/base/src/nsFileTransport.h @@ -28,7 +28,7 @@ class nsFileTransportService; class nsIBaseStream; class nsIString; class nsIBuffer; -class nsIInputStream; +class nsIBufferInputStream; class nsFileTransport : public nsIChannel, public nsIRunnable { @@ -86,7 +86,7 @@ protected: // state variables: nsIBaseStream* mFileStream; // cast to nsIInputStream/nsIOutputStream for reading/writing nsIBuffer* mBuffer; - nsIInputStream* mBufferStream; + nsIBufferInputStream* mBufferStream; nsresult mStatus; PRUint32 mSourceOffset; PRInt32 mAmount; diff --git a/mozilla/netwerk/base/src/nsSocketTransport.cpp b/mozilla/netwerk/base/src/nsSocketTransport.cpp index a02684d4fb3..1ac3e933b3c 100644 --- a/mozilla/netwerk/base/src/nsSocketTransport.cpp +++ b/mozilla/netwerk/base/src/nsSocketTransport.cpp @@ -28,6 +28,10 @@ #include "nsSocketTransport.h" #include "nsSocketTransportService.h" #include "nsSocketTransportStreams.h" +#include "nsIBuffer.h" +#include "nsIBufferInputStream.h" +#include "nsIBufferOutputStream.h" +#include "nsAutoLock.h" // // This is the State table which maps current state to next state @@ -253,7 +257,7 @@ nsresult nsSocketTransport::Process(PRInt16 aSelectFlags) // Enter the socket transport lock... // This lock protects access to socket transport member data... // - Lock(); + nsAutoLock lock(mLock); PR_LOG(gSocketLog, PR_LOG_DEBUG, ("+++ Entering nsSocketTransport::Process() [this=%x].\t" @@ -390,9 +394,6 @@ nsresult nsSocketTransport::Process(PRInt16 aSelectFlags) "CurrentState = %d\n\n", this, rv, mCurrentState)); - // Leave the socket transport lock... - Unlock(); - return rv; } @@ -868,7 +869,7 @@ nsSocketTransport::Suspend(void) nsresult rv = NS_OK; // Enter the socket transport lock... - Lock(); + nsAutoLock lock(mLock); mSuspendCount += 1; // @@ -886,9 +887,6 @@ nsSocketTransport::Suspend(void) "mSuspendCount = %d.\n", this, rv, mSuspendCount)); - // Leave the socket transport lock... - Unlock(); - return rv; } @@ -899,7 +897,7 @@ nsSocketTransport::Resume(void) nsresult rv = NS_OK; // Enter the socket transport lock... - Lock(); + nsAutoLock lock(mLock); if (mSuspendCount) { mSuspendCount -= 1; @@ -920,9 +918,6 @@ nsSocketTransport::Resume(void) "mSuspendCount = %d.\n", this, rv, mSuspendCount)); - // Leave the socket transport lock... - Unlock(); - return rv; } @@ -942,7 +937,7 @@ nsSocketTransport::AsyncRead(PRUint32 startPosition, PRInt32 readCount, nsresult rv = NS_OK; // Enter the socket transport lock... - Lock(); + nsAutoLock lock(mLock); PR_LOG(gSocketLog, PR_LOG_DEBUG, ("+++ Entering nsSocketTransport::AsyncRead() [this=%x].\n", this)); @@ -983,9 +978,6 @@ nsSocketTransport::AsyncRead(PRUint32 startPosition, PRInt32 readCount, ("--- Leaving nsSocketTransport::AsyncRead() [this=%x]. rv = %x.\n", this, rv)); - // Leave the socket transport lock... - Unlock(); - return rv; } @@ -1001,7 +993,7 @@ nsSocketTransport::AsyncWrite(nsIInputStream* aFromStream, nsresult rv = NS_OK; // Enter the socket transport lock... - Lock(); + nsAutoLock lock(mLock); PR_LOG(gSocketLog, PR_LOG_DEBUG, ("+++ Entering nsSocketTransport::AsyncWrite() [this=%x].\n", this)); @@ -1012,7 +1004,10 @@ nsSocketTransport::AsyncWrite(nsIInputStream* aFromStream, } if (NS_SUCCEEDED(rv)) { - mWriteStream = aFromStream; + nsIBufferInputStream* str; + rv = aFromStream->QueryInterface(nsIBufferInputStream::GetIID(), (void**)&str); // XXX not sure this is the right thing here + if (NS_FAILED(rv)) return rv; + mWriteStream = str; NS_ADDREF(mWriteStream); NS_IF_RELEASE(mWriteContext); @@ -1035,9 +1030,6 @@ nsSocketTransport::AsyncWrite(nsIInputStream* aFromStream, ("--- Leaving nsSocketTransport::AsyncWrite() [this=%x]. rv = %x.\n", this, rv)); - // Leave the socket transport lock... - Unlock(); - return rv; } @@ -1048,7 +1040,7 @@ nsSocketTransport::OpenInputStream(nsIInputStream* *result) nsresult rv = NS_OK; // Enter the socket transport lock... - Lock(); + nsAutoLock lock(mLock); PR_LOG(gSocketLog, PR_LOG_DEBUG, ("+++ Entering nsSocketTransport::OpenInputStream() [this=%x].\n", @@ -1084,9 +1076,6 @@ nsSocketTransport::OpenInputStream(nsIInputStream* *result) "rv = %x.\n", this, rv)); - // Leave the socket transport lock... - Unlock(); - return rv; } @@ -1097,7 +1086,7 @@ nsSocketTransport::OpenOutputStream(nsIOutputStream* *result) nsresult rv = NS_OK; // Enter the socket transport lock... - Lock(); + nsAutoLock lock(mLock); PR_LOG(gSocketLog, PR_LOG_DEBUG, ("+++ Entering nsSocketTransport::OpenOutputStream() [this=%x].\n", @@ -1118,9 +1107,10 @@ nsSocketTransport::OpenOutputStream(nsIOutputStream* *result) // is called. // XXX not sure if this should be blocking (PR_TRUE) or non-blocking. - rv = NS_NewPipe(&mWriteStream, - result, - PR_FALSE, MAX_IO_BUFFER_SIZE); + nsIBufferOutputStream* out = nsnull; + rv = NS_NewPipe2(&mWriteStream, &out, + MAX_IO_BUFFER_SIZE, MAX_IO_BUFFER_SIZE); + *result = out; } if (NS_SUCCEEDED(rv)) { @@ -1134,9 +1124,6 @@ nsSocketTransport::OpenOutputStream(nsIOutputStream* *result) "rv = %x.\n", this, rv)); - // Leave the socket transport lock... - Unlock(); - return rv; } diff --git a/mozilla/netwerk/base/src/nsSocketTransport.h b/mozilla/netwerk/base/src/nsSocketTransport.h index 45e7edc1efb..c44e03f89df 100644 --- a/mozilla/netwerk/base/src/nsSocketTransport.h +++ b/mozilla/netwerk/base/src/nsSocketTransport.h @@ -25,7 +25,7 @@ #include "nsIChannel.h" #include "nsIInputStream.h" -#include "nsIByteBufferInputStream.h" +#include "nsIBufferInputStream.h" // // This is the size of the global buffer used by all nsSocketTransport @@ -108,10 +108,6 @@ protected: nsresult doRead(PRInt16 aSelectFlags); nsresult doWrite(PRInt16 aSelectFlags); - // Inline helpers... - void Lock (void) { NS_ASSERTION(mLock, "Lock null."); PR_Lock(mLock); } - void Unlock(void) { NS_ASSERTION(mLock, "Lock null."); PR_Unlock(mLock); } - protected: PRCList mListLink; @@ -134,7 +130,7 @@ protected: nsISupports* mWriteContext; nsIStreamObserver* mWriteObserver; - nsIInputStream* mWriteStream; + nsIBufferInputStream* mWriteStream; PRUint32 mSourceOffset; diff --git a/mozilla/netwerk/base/src/nsSocketTransportService.cpp b/mozilla/netwerk/base/src/nsSocketTransportService.cpp index 7e9e59969c9..bad377be4f2 100644 --- a/mozilla/netwerk/base/src/nsSocketTransportService.cpp +++ b/mozilla/netwerk/base/src/nsSocketTransportService.cpp @@ -1,4 +1,4 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- * * The contents of this file are subject to the Netscape Public License * Version 1.0 (the "NPL"); you may not use this file except in @@ -19,7 +19,7 @@ #include "nsSocketTransportService.h" #include "nsSocketTransport.h" - +#include "nsAutoLock.h" #define MAX_OPEN_CONNECTIONS 50 @@ -166,17 +166,18 @@ nsresult nsSocketTransportService::AddToWorkQ(nsSocketTransport* aTransport) nsresult rv = NS_OK; PRCList* qp; - Lock(); - // - // Only add the transport if it is *not* already on the list... - // - qp = aTransport->GetListNode(); - if (PR_CLIST_IS_EMPTY(qp)) { - NS_ADDREF(aTransport); - bFireEvent = PR_CLIST_IS_EMPTY(&mWorkQ); - PR_APPEND_LINK(qp, &mWorkQ); + { + nsAutoLock lock(mThreadLock); + // + // Only add the transport if it is *not* already on the list... + // + qp = aTransport->GetListNode(); + if (PR_CLIST_IS_EMPTY(qp)) { + NS_ADDREF(aTransport); + bFireEvent = PR_CLIST_IS_EMPTY(&mWorkQ); + PR_APPEND_LINK(qp, &mWorkQ); + } } - Unlock(); // // Only fire an event if this is the first entry in the workQ. Otherwise, // the event has already been fired and the transport thread will process @@ -204,7 +205,7 @@ nsresult nsSocketTransportService::ProcessWorkQ(void) // XXX: Need a way to restart the ProcessWorkQ(...) when space becomes // available in the select set... // - Lock(); + nsAutoLock lock(mThreadLock); while (!PR_CLIST_IS_EMPTY(&mWorkQ) && (MAX_OPEN_CONNECTIONS > mSelectFDSetCount)) { nsSocketTransport* transport; @@ -229,7 +230,6 @@ nsresult nsSocketTransportService::ProcessWorkQ(void) // Release the transport object (since it is no longer on the WorkQ). NS_RELEASE(transport); } - Unlock(); return rv; } diff --git a/mozilla/netwerk/base/src/nsSocketTransportService.h b/mozilla/netwerk/base/src/nsSocketTransportService.h index f44192c5c8b..fafae62bdab 100644 --- a/mozilla/netwerk/base/src/nsSocketTransportService.h +++ b/mozilla/netwerk/base/src/nsSocketTransportService.h @@ -61,10 +61,6 @@ public: nsresult RemoveFromSelectList(nsSocketTransport* aTransport); protected: - // Inline helpers... - void Lock (void) { NS_ASSERTION(mThreadLock, "Lock null."); PR_Lock(mThreadLock); } - void Unlock(void) { NS_ASSERTION(mThreadLock, "Lock null."); PR_Unlock(mThreadLock); } - nsIThread* mThread; PRFileDesc* mThreadEvent; PRLock* mThreadLock; diff --git a/mozilla/netwerk/base/src/nsSocketTransportStreams.cpp b/mozilla/netwerk/base/src/nsSocketTransportStreams.cpp index 90131fdc4ce..246b4820cee 100644 --- a/mozilla/netwerk/base/src/nsSocketTransportStreams.cpp +++ b/mozilla/netwerk/base/src/nsSocketTransportStreams.cpp @@ -16,11 +16,11 @@ * Reserved. */ - +#include "nsIBuffer.h" // // -------------------------------------------------------------------------- -// Private implementation of a nsIByteBufferInputStream used by the +// Private implementation of a nsIBufferInputStream used by the // nsSocketTransport implementation // -------------------------------------------------------------------------- // @@ -103,8 +103,10 @@ nsresult nsSocketTransportStream::Init(nsSocketTransport* aTransport, } if (NS_SUCCEEDED(rv)) { - rv = NS_NewByteBufferInputStream(&mStream, PR_FALSE, - MAX_IO_BUFFER_SIZE); + nsIBuffer* buf; + rv = NS_NewBuffer(&buf, MAX_IO_BUFFER_SIZE, MAX_IO_BUFFER_SIZE); + if (NS_FAILED(rv)) return rv; + rv = NS_NewBufferInputStream(&mStream, buf); } return rv; @@ -138,7 +140,7 @@ nsresult nsSocketTransportStream::BlockTransport(void) // NS_IMPL_THREADSAFE_ISUPPORTS(nsSocketTransportStream, - nsIByteBufferInputStream::GetIID()); + nsIBufferInputStream::GetIID()); // @@ -218,14 +220,20 @@ nsSocketTransportStream::Read(char * aBuf, PRUint32 aCount, // // -------------------------------------------------------------------------- -// nsIByteBufferInputStream implementation... +// nsIBufferInputStream implementation... // -------------------------------------------------------------------------- // NS_IMETHODIMP -nsSocketTransportStream::Fill(nsIInputStream* aStream, - PRUint32 aCount, - PRUint32 *aWriteCount) +nsSocketTransportStream::GetBuffer(nsIBuffer* *result) +{ + return mStream->GetBuffer(result); +} + +NS_IMETHODIMP +nsSocketTransportStream::FillFrom(nsIInputStream* aStream, + PRUint32 aCount, + PRUint32 *aWriteCount) { nsresult rv; @@ -237,7 +245,7 @@ nsSocketTransportStream::Fill(nsIInputStream* aStream, "aCount=%d\n", this, aCount)); - rv = mStream->Fill(aStream, aCount, aWriteCount); + rv = mStream->FillFrom(aStream, aCount, aWriteCount); if (mIsStreamBlocking && (NS_BASE_STREAM_WOULD_BLOCK != rv)) { Notify(); diff --git a/mozilla/netwerk/base/src/nsSocketTransportStreams.h b/mozilla/netwerk/base/src/nsSocketTransportStreams.h index 9fa7a63d385..d2ccc9cd7a5 100644 --- a/mozilla/netwerk/base/src/nsSocketTransportStreams.h +++ b/mozilla/netwerk/base/src/nsSocketTransportStreams.h @@ -1,4 +1,4 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- * * The contents of this file are subject to the Netscape Public License * Version 1.0 (the "NPL"); you may not use this file except in @@ -20,14 +20,14 @@ #define nsSocketTransportStreams_h___ #include "prtypes.h" -#include "nsIByteBufferInputStream.h" +#include "nsIBufferInputStream.h" // Forward declarations... class nsSocketTransport; -class nsSocketTransportStream : public nsIByteBufferInputStream +class nsSocketTransportStream : public nsIBufferInputStream { public: nsSocketTransportStream(); @@ -42,9 +42,10 @@ public: NS_IMETHOD GetLength(PRUint32 *aResult); NS_IMETHOD Read(char * aBuf, PRUint32 aCount, PRUint32 *aReadCount); - // nsIByteBufferInputStream methods: - NS_IMETHOD Fill(nsIInputStream* stream, PRUint32 aCount, PRUint32 *aWriteCount); + // nsIBufferInputStream methods: + NS_IMETHOD GetBuffer(nsIBuffer* *result); NS_IMETHOD Fill(const char* aBuf, PRUint32 aCount, PRUint32 *aWriteCount); + NS_IMETHOD FillFrom(nsIInputStream *inStr, PRUint32 count, PRUint32 *_retval); // nsSocketTransportStream methods: nsresult Init(nsSocketTransport* aTransport, PRBool aBlockingFlag); @@ -64,7 +65,7 @@ private: PRBool mIsStreamBlocking; PRMonitor* mMonitor; - nsIByteBufferInputStream* mStream; + nsIBufferInputStream* mStream; nsSocketTransport* mTransport; }; diff --git a/mozilla/netwerk/base/src/nsSyncStreamListener.cpp b/mozilla/netwerk/base/src/nsSyncStreamListener.cpp index 7d5d3e45da4..eaa16bce7d0 100644 --- a/mozilla/netwerk/base/src/nsSyncStreamListener.cpp +++ b/mozilla/netwerk/base/src/nsSyncStreamListener.cpp @@ -17,10 +17,11 @@ */ #include "nsIStreamListener.h" -#include "nsIByteBufferInputStream.h" #include "nsIString.h" #include "nsCRT.h" -#include "nsIOutputStream.h" +#include "nsIBufferInputStream.h" +#include "nsIBufferOutputStream.h" +#include "nsIBuffer.h" //////////////////////////////////////////////////////////////////////////////// @@ -41,7 +42,7 @@ public: // nsIStreamListener methods: NS_IMETHOD OnDataAvailable(nsISupports* context, - nsIInputStream *aIStream, + nsIBufferInputStream *aIStream, PRUint32 aSourceOffset, PRUint32 aLength); @@ -52,21 +53,21 @@ public: } virtual ~nsSyncStreamListener(); - nsresult Init(nsIInputStream* *result); + nsresult Init(nsIBufferInputStream* *result); protected: - nsIOutputStream* mOutputStream; + nsIBufferOutputStream* mOutputStream; }; //////////////////////////////////////////////////////////////////////////////// nsresult -nsSyncStreamListener::Init(nsIInputStream* *result) +nsSyncStreamListener::Init(nsIBufferInputStream* *result) { nsresult rv; - nsIInputStream* in; + nsIBufferInputStream* in; - rv = NS_NewPipe(&in, &mOutputStream); + rv = NS_NewPipe2(&in, &mOutputStream, 4 * 1024, 16 * 1024); if (NS_FAILED(rv)) return rv; *result = in; @@ -127,7 +128,7 @@ nsSyncStreamListener::OnStopRequest(nsISupports* context, NS_IMETHODIMP nsSyncStreamListener::OnDataAvailable(nsISupports* context, - nsIInputStream *aIStream, + nsIBufferInputStream *aIStream, PRUint32 aSourceOffset, PRUint32 aLength) { @@ -146,7 +147,7 @@ nsSyncStreamListener::OnDataAvailable(nsISupports* context, nsresult NS_NewSyncStreamListener(nsIStreamListener* *listener, - nsIInputStream* *inStream) + nsIBufferInputStream* *inStream) { nsSyncStreamListener* l = new nsSyncStreamListener(); if (l == nsnull) diff --git a/mozilla/netwerk/protocol/ftp/src/nsFTPChannel.cpp b/mozilla/netwerk/protocol/ftp/src/nsFTPChannel.cpp index 5e58ab85c38..06969bdcd2a 100644 --- a/mozilla/netwerk/protocol/ftp/src/nsFTPChannel.cpp +++ b/mozilla/netwerk/protocol/ftp/src/nsFTPChannel.cpp @@ -21,7 +21,7 @@ #include "nsFTPChannel.h" #include "nscore.h" #include "nsIServiceManager.h" -#include "nsIByteBufferInputStream.h" +#include "nsIBufferInputStream.h" #include "nsFtpConnectionThread.h" #include "nsIEventQueueService.h" #include "nsIProgressEventSink.h" @@ -260,9 +260,9 @@ nsFTPChannel::OnStopRequest(nsISupports* context, NS_IMETHODIMP nsFTPChannel::OnDataAvailable(nsISupports* context, - nsIInputStream *aIStream, - PRUint32 aSourceOffset, - PRUint32 aLength) { + nsIBufferInputStream *aIStream, + PRUint32 aSourceOffset, + PRUint32 aLength) { // Fill in the buffer w/ the new data. return NS_ERROR_NOT_IMPLEMENTED; } diff --git a/mozilla/netwerk/protocol/ftp/src/nsFTPChannel.h b/mozilla/netwerk/protocol/ftp/src/nsFTPChannel.h index 4200d72f4aa..3e7f3ab5acb 100644 --- a/mozilla/netwerk/protocol/ftp/src/nsFTPChannel.h +++ b/mozilla/netwerk/protocol/ftp/src/nsFTPChannel.h @@ -70,7 +70,7 @@ public: // nsIStreamListener methods: NS_IMETHOD OnDataAvailable(nsISupports* context, - nsIInputStream *aIStream, + nsIBufferInputStream *aIStream, PRUint32 aSourceOffset, PRUint32 aLength); diff --git a/mozilla/netwerk/protocol/ftp/src/nsFtpConnectionThread.cpp b/mozilla/netwerk/protocol/ftp/src/nsFtpConnectionThread.cpp index ac69da84ea5..a5eac5378e0 100644 --- a/mozilla/netwerk/protocol/ftp/src/nsFtpConnectionThread.cpp +++ b/mozilla/netwerk/protocol/ftp/src/nsFtpConnectionThread.cpp @@ -22,8 +22,8 @@ #include "nsIChannel.h" #include "nsISocketTransportService.h" #include "nsIURI.h" - -#include "nsIByteBufferInputStream.h" // for our internal stream state +#include "nsIBuffer.h" +#include "nsIBufferInputStream.h" // for our internal stream state #include "nsIInputStream.h" #include "prprf.h" @@ -825,9 +825,11 @@ nsFtpConnectionThread::Run() { // We're receiving a directory listing. // Read it from the data stream. PRUint32 bytes = 0, len = 0; - nsIByteBufferInputStream* in; + nsIBufferInputStream* in; - rv = NS_NewByteBufferInputStream(&in); + nsIBuffer* buf; + rv = NS_NewBuffer(&buf, 4 * 1024, 16 * 1024); + rv = NS_NewBufferInputStream(&in, buf); if (NS_FAILED(rv)) { mState = FTP_ERROR; break; @@ -938,9 +940,11 @@ nsFtpConnectionThread::Run() { // We're receiving a file. // Read it from the data stream. PRUint32 bytes = 0, len = 0; - nsIByteBufferInputStream* in; + nsIBufferInputStream* in; - rv = NS_NewByteBufferInputStream(&in); + nsIBuffer* buf; + rv = NS_NewBuffer(&buf, 4 * 1024, 16 * 1024); + rv = NS_NewBufferInputStream(&in, buf); if (NS_FAILED(rv)) { mState = FTP_ERROR; break; diff --git a/mozilla/netwerk/protocol/ftp/src/nsFtpStreamListenerEvent.cpp b/mozilla/netwerk/protocol/ftp/src/nsFtpStreamListenerEvent.cpp index 7a6e341458b..cac2547ca7f 100644 --- a/mozilla/netwerk/protocol/ftp/src/nsFtpStreamListenerEvent.cpp +++ b/mozilla/netwerk/protocol/ftp/src/nsFtpStreamListenerEvent.cpp @@ -17,8 +17,7 @@ */ #include "nsFtpStreamListenerEvent.h" -#include "nsIInputStream.h" - +#include "nsIBufferInputStream.h" #include "nscore.h" #include "nsIString.h" @@ -117,7 +116,7 @@ nsFtpOnDataAvailableEvent::~nsFtpOnDataAvailableEvent() } nsresult -nsFtpOnDataAvailableEvent::Init(nsIInputStream* aIStream, +nsFtpOnDataAvailableEvent::Init(nsIBufferInputStream* aIStream, PRUint32 aSourceOffset, PRUint32 aLength) { mLength = aLength; @@ -136,7 +135,7 @@ nsFtpOnDataAvailableEvent::HandleEvent() /* NS_IMETHODIMP nsMarshalingStreamListener::OnDataAvailable(nsISupports* context, - nsIInputStream *aIStream, + nsIBufferInputStream *aIStream, PRUint32 aSourceOffset, PRUint32 aLength) { diff --git a/mozilla/netwerk/protocol/ftp/src/nsFtpStreamListenerEvent.h b/mozilla/netwerk/protocol/ftp/src/nsFtpStreamListenerEvent.h index 4a8775cc94a..eb53c7cd50c 100644 --- a/mozilla/netwerk/protocol/ftp/src/nsFtpStreamListenerEvent.h +++ b/mozilla/netwerk/protocol/ftp/src/nsFtpStreamListenerEvent.h @@ -61,13 +61,13 @@ public: mIStream(nsnull), mLength(0) {} virtual ~nsFtpOnDataAvailableEvent(); - nsresult Init(nsIInputStream* aIStream, PRUint32 aSourceOffset, PRUint32 aLength); + nsresult Init(nsIBufferInputStream* aIStream, PRUint32 aSourceOffset, PRUint32 aLength); NS_IMETHOD HandleEvent(); protected: - nsIInputStream* mIStream; - PRUint32 mSourceOffset; - PRUint32 mLength; + nsIBufferInputStream* mIStream; + PRUint32 mSourceOffset; + PRUint32 mLength; }; diff --git a/mozilla/netwerk/protocol/http/src/nsHTTPRequest.cpp b/mozilla/netwerk/protocol/http/src/nsHTTPRequest.cpp index 922cd10a97f..0fa4d2b2222 100644 --- a/mozilla/netwerk/protocol/http/src/nsHTTPRequest.cpp +++ b/mozilla/netwerk/protocol/http/src/nsHTTPRequest.cpp @@ -22,7 +22,8 @@ #include "nsHeaderPair.h" #include "kHTTPHeaders.h" #include "nsHTTPEnums.h" -#include "nsIByteBufferInputStream.h" +#include "nsIBuffer.h" +#include "nsIBufferInputStream.h" #include "plstr.h" #include "nsString.h" #include "nsIChannel.h" @@ -73,9 +74,15 @@ NS_IMPL_ADDREF(nsHTTPRequest); nsresult nsHTTPRequest::Build() { + nsresult rv; + if (m_Request) NS_ERROR("Request already built!"); - nsresult rv = NS_NewByteBufferInputStream(&m_Request); + + nsIBuffer* buf; + rv = NS_NewBuffer(&buf, 4 * 1024, 16 * 1024); + if (NS_FAILED(rv)) return rv; + rv = NS_NewBufferInputStream(&m_Request, buf); if (NS_SUCCEEDED(rv)) { diff --git a/mozilla/netwerk/protocol/http/src/nsHTTPRequest.h b/mozilla/netwerk/protocol/http/src/nsHTTPRequest.h index 9f893ea88ff..033268fa3bc 100644 --- a/mozilla/netwerk/protocol/http/src/nsHTTPRequest.h +++ b/mozilla/netwerk/protocol/http/src/nsHTTPRequest.h @@ -27,7 +27,7 @@ class nsIInputStream; class nsIURL; class nsVoidArray; -class nsIByteBufferInputStream; +class nsIBufferInputStream; class nsIChannel; class nsHTTPChannel; @@ -298,7 +298,7 @@ protected: HTTPVersion m_Version; HTTPMethod m_Method; // The actual request stream! - nsIByteBufferInputStream* m_Request; + nsIBufferInputStream* m_Request; nsVoidArray* m_pArray; nsIChannel* m_pTransport; nsHTTPChannel* m_pConnection; diff --git a/mozilla/netwerk/protocol/http/src/nsHTTPResponseListener.cpp b/mozilla/netwerk/protocol/http/src/nsHTTPResponseListener.cpp index b8a2e5a9217..92aa2b66d7d 100644 --- a/mozilla/netwerk/protocol/http/src/nsHTTPResponseListener.cpp +++ b/mozilla/netwerk/protocol/http/src/nsHTTPResponseListener.cpp @@ -20,7 +20,7 @@ #include "nsIStreamListener.h" #include "nsHTTPResponseListener.h" #include "nsIChannel.h" -#include "nsIInputStream.h" +#include "nsIBufferInputStream.h" #include "nsHTTPChannel.h" #include "nsHTTPResponse.h" #include "nsIHttpEventSink.h" @@ -50,9 +50,9 @@ NS_IMPL_ISUPPORTS(nsHTTPResponseListener,nsIStreamListener::GetIID()); NS_IMETHODIMP nsHTTPResponseListener::OnDataAvailable(nsISupports* context, - nsIInputStream *i_pStream, - PRUint32 i_SourceOffset, - PRUint32 i_Length) + nsIBufferInputStream *i_pStream, + PRUint32 i_SourceOffset, + PRUint32 i_Length) { nsIInputStream* inStr = nsnull; diff --git a/mozilla/netwerk/protocol/http/src/nsHTTPResponseListener.h b/mozilla/netwerk/protocol/http/src/nsHTTPResponseListener.h index 91e5c7b4c01..b54d549e77f 100644 --- a/mozilla/netwerk/protocol/http/src/nsHTTPResponseListener.h +++ b/mozilla/netwerk/protocol/http/src/nsHTTPResponseListener.h @@ -53,9 +53,9 @@ public: // nsIStreamListener functions NS_IMETHOD OnDataAvailable(nsISupports* context, - nsIInputStream *aIStream, - PRUint32 aSourceOffset, - PRUint32 aLength); + nsIBufferInputStream *aIStream, + PRUint32 aSourceOffset, + PRUint32 aLength); NS_IMETHOD OnStartBinding(nsISupports* context); diff --git a/mozilla/netwerk/test/TestFileInput.cpp b/mozilla/netwerk/test/TestFileInput.cpp index f079319ef6d..a6b0b117259 100644 --- a/mozilla/netwerk/test/TestFileInput.cpp +++ b/mozilla/netwerk/test/TestFileInput.cpp @@ -29,7 +29,8 @@ #include "prio.h" #include "nsIFileStream.h" #include "nsFileSpec.h" -#include "nsIByteBufferInputStream.h" +#include "nsIBuffer.h" +#include "nsIBufferInputStream.h" #include "nsIThread.h" #include "nsISupportsArray.h" #include "nsIChannel.h" @@ -113,7 +114,7 @@ public: } NS_IMETHOD OnDataAvailable(nsISupports* context, - nsIInputStream *aIStream, + nsIBufferInputStream *aIStream, PRUint32 aSourceOffset, PRUint32 aLength) { PR_EnterMonitor(mMonitor); @@ -204,7 +205,7 @@ Simulated_nsFileTransport_Run(nsReader* reader, const char* path) nsresult rv; nsISupports* fs; nsIInputStream* fileStr = nsnull; - nsIByteBufferInputStream* bufStr = nsnull; + nsIBufferInputStream* bufStr = nsnull; nsFileSpec spec(path); PRUint32 sourceOffset = 0; @@ -218,7 +219,9 @@ Simulated_nsFileTransport_Run(nsReader* reader, const char* path) NS_RELEASE(fs); if (NS_FAILED(rv)) goto done; - rv = NS_NewByteBufferInputStream(&bufStr, PR_FALSE, NS_FILE_TRANSPORT_BUFFER_SIZE); + nsIBuffer* buf; + rv = NS_NewBuffer(&buf, NS_FILE_TRANSPORT_BUFFER_SIZE, NS_FILE_TRANSPORT_BUFFER_SIZE); + rv = NS_NewBufferInputStream(&bufStr, buf); if (NS_FAILED(rv)) goto done; if ( spec.GetFileSize() == 0) goto done; @@ -226,7 +229,7 @@ Simulated_nsFileTransport_Run(nsReader* reader, const char* path) while (PR_TRUE) { PRUint32 amt; /* id'l change to FillFrom... */ - rv = bufStr->Fill(fileStr, spec.GetFileSize(), &amt); + rv = bufStr->FillFrom(fileStr, spec.GetFileSize(), &amt); if (rv == NS_BASE_STREAM_EOF) { rv = NS_OK; break; diff --git a/mozilla/netwerk/test/TestProtocols.cpp b/mozilla/netwerk/test/TestProtocols.cpp index c75ce18a279..8ef6c886f97 100644 --- a/mozilla/netwerk/test/TestProtocols.cpp +++ b/mozilla/netwerk/test/TestProtocols.cpp @@ -37,7 +37,7 @@ #include "nsIStreamObserver.h" #include "nsIStreamListener.h" #include "nsIInputStream.h" -#include "nsIByteBufferInputStream.h" +#include "nsIBufferInputStream.h" #include "nsCRT.h" #include "nsIChannel.h" #include "nsIURL.h" @@ -79,7 +79,7 @@ public: NS_IMETHOD OnStartBinding(nsISupports* context); NS_IMETHOD OnDataAvailable(nsISupports* context, - nsIInputStream *aIStream, + nsIBufferInputStream *aIStream, PRUint32 aSourceOffset, PRUint32 aLength); @@ -124,7 +124,7 @@ InputTestConsumer::OnStartBinding(nsISupports* context) NS_IMETHODIMP InputTestConsumer::OnDataAvailable(nsISupports* context, - nsIInputStream *aIStream, + nsIBufferInputStream *aIStream, PRUint32 aSourceOffset, PRUint32 aLength) { diff --git a/mozilla/netwerk/test/TestSocketIO.cpp b/mozilla/netwerk/test/TestSocketIO.cpp index ad697ccf4ce..4b0f4c167fe 100644 --- a/mozilla/netwerk/test/TestSocketIO.cpp +++ b/mozilla/netwerk/test/TestSocketIO.cpp @@ -29,8 +29,8 @@ #include "nsIChannel.h" #include "nsIStreamObserver.h" #include "nsIStreamListener.h" -#include "nsIInputStream.h" -#include "nsIByteBufferInputStream.h" +#include "nsIBuffer.h" +#include "nsIBufferInputStream.h" #include "nsCRT.h" static NS_DEFINE_CID(kSocketTransportServiceCID, NS_SOCKETTRANSPORTSERVICE_CID); @@ -55,7 +55,7 @@ public: NS_IMETHOD OnStartBinding(nsISupports* context); NS_IMETHOD OnDataAvailable(nsISupports* context, - nsIInputStream *aIStream, + nsIBufferInputStream *aIStream, PRUint32 aSourceOffset, PRUint32 aLength); @@ -100,7 +100,7 @@ InputTestConsumer::OnStartBinding(nsISupports* context) NS_IMETHODIMP InputTestConsumer::OnDataAvailable(nsISupports* context, - nsIInputStream *aIStream, + nsIBufferInputStream *aIStream, PRUint32 aSourceOffset, PRUint32 aLength) { @@ -235,10 +235,12 @@ main(int argc, char* argv[]) if (NS_FAILED(rv)) return rv; // Create a stream for the data being written to the server... - nsIByteBufferInputStream* stream; + nsIBufferInputStream* stream; PRUint32 bytesWritten; - rv = NS_NewByteBufferInputStream(&stream); + nsIBuffer* buf; + rv = NS_NewBuffer(&buf, 1024, 4096); + rv = NS_NewBufferInputStream(&stream, buf); if (NS_FAILED(rv)) return rv; char *buffer = PR_smprintf("GET %s HTML/1.0%s%s", fileName, CRLF, CRLF); diff --git a/mozilla/netwerk/test/TestSocketInput.cpp b/mozilla/netwerk/test/TestSocketInput.cpp index 40903be1be4..90e3df5e37e 100644 --- a/mozilla/netwerk/test/TestSocketInput.cpp +++ b/mozilla/netwerk/test/TestSocketInput.cpp @@ -27,7 +27,7 @@ #include "nsIServiceManager.h" #include "nsIChannel.h" #include "nsIStreamListener.h" -#include "nsIInputStream.h" +#include "nsIBufferInputStream.h" static NS_DEFINE_CID(kSocketTransportServiceCID, NS_SOCKETTRANSPORTSERVICE_CID); static NS_DEFINE_CID(kEventQueueServiceCID, NS_EVENTQUEUESERVICE_CID); @@ -48,7 +48,7 @@ public: NS_IMETHOD OnStartBinding(nsISupports* context); NS_IMETHOD OnDataAvailable(nsISupports* context, - nsIInputStream *aIStream, + nsIBufferInputStream *aIStream, PRUint32 aSourceOffset, PRUint32 aLength); @@ -93,7 +93,7 @@ InputTestConsumer::OnStartBinding(nsISupports* context) NS_IMETHODIMP InputTestConsumer::OnDataAvailable(nsISupports* context, - nsIInputStream *aIStream, + nsIBufferInputStream *aIStream, PRUint32 aSourceOffset, PRUint32 aLength) { diff --git a/mozilla/netwerk/test/TestSocketTransport.cpp b/mozilla/netwerk/test/TestSocketTransport.cpp index b74eb671cf3..09709382ca1 100644 --- a/mozilla/netwerk/test/TestSocketTransport.cpp +++ b/mozilla/netwerk/test/TestSocketTransport.cpp @@ -30,8 +30,9 @@ #include "nsIChannel.h" #include "nsIStreamObserver.h" #include "nsIStreamListener.h" -#include "nsIInputStream.h" -#include "nsIByteBufferInputStream.h" +#include "nsIBuffer.h" +#include "nsIBufferInputStream.h" +#include "nsIBufferOutputStream.h" #include "nsIThread.h" #include "nsITimer.h" @@ -88,7 +89,7 @@ public: char GetBufferChar(void) { return mBufferChar; } protected: - nsIByteBufferInputStream* mStream; + nsIBufferInputStream* mStream; nsIInputStream* mInStream; nsIOutputStream* mOutStream; @@ -124,7 +125,7 @@ public: NS_IMETHOD OnStartBinding(nsISupports* context); NS_IMETHOD OnDataAvailable(nsISupports* context, - nsIInputStream *aIStream, + nsIBufferInputStream *aIStream, PRUint32 aSourceOffset, PRUint32 aLength); @@ -176,7 +177,7 @@ InputConsumer::OnStartBinding(nsISupports* context) NS_IMETHODIMP InputConsumer::OnDataAvailable(nsISupports* context, - nsIInputStream *aIStream, + nsIBufferInputStream *aIStream, PRUint32 aSourceOffset, PRUint32 aLength) { @@ -189,7 +190,7 @@ InputConsumer::OnDataAvailable(nsISupports* context, nsresult rv = aIStream->Read(buf, 1024, &amt); mBytesRead += amt; buf[amt] = '\0'; -/// printf(buf); + printf(buf); } while (amt != 0); if (mConnection->GetBufferLength() == mBytesRead) { @@ -340,7 +341,9 @@ TestConnection::TestConnection(const char* aHostName, PRInt32 aPort, PRBool aAsy // Create a stream for the data being written to the server... if (NS_SUCCEEDED(rv)) { - rv = NS_NewByteBufferInputStream(&mStream); + nsIBuffer* buf; + rv = NS_NewBuffer(&buf, 1024, 4096); + rv = NS_NewBufferInputStream(&mStream, buf); } } // Synchronous transport... diff --git a/mozilla/netwerk/test/nettest.cpp b/mozilla/netwerk/test/nettest.cpp index 8a4b64ace95..e499fb028f8 100644 --- a/mozilla/netwerk/test/nettest.cpp +++ b/mozilla/netwerk/test/nettest.cpp @@ -64,7 +64,7 @@ public: // stream listener methods NS_IMETHOD OnDataAvailable(nsISupports* context, - nsIInputStream *aIStream, + nsIBufferInputStream *aIStream, PRUint32 aSourceOffset, PRUint32 aLength); @@ -98,11 +98,10 @@ TestConsumer::~TestConsumer() } } -NS_IMETHODIMP TestConsumer::OnDataAvailable( - nsISupports *context, - nsIInputStream* aIStream, - PRUint32 aSourceOffset, - PRUint32 aLength) { +NS_IMETHODIMP TestConsumer::OnDataAvailable(nsISupports *context, + nsIBufferInputStream* aIStream, + PRUint32 aSourceOffset, + PRUint32 aLength) { PRUint32 len; if (bTraceEnabled) { diff --git a/mozilla/network/cnvts/nsNetConverterStream.h b/mozilla/network/cnvts/nsNetConverterStream.h index 5ef42c7d1f0..32e118c14d9 100644 --- a/mozilla/network/cnvts/nsNetConverterStream.h +++ b/mozilla/network/cnvts/nsNetConverterStream.h @@ -48,11 +48,6 @@ public: PRUint32 aLen, PRUint32 *aWriteLength); - NS_IMETHOD WriteFrom(nsIInputStream* fromStream, PRUint32 count, - PRUint32 *aWriteCount) { - return NS_ERROR_NOT_IMPLEMENTED; - } - NS_IMETHOD Flush(void) { return NS_OK; } diff --git a/mozilla/network/module/nsNetStream.h b/mozilla/network/module/nsNetStream.h index b56bb92af48..144837c36d0 100644 --- a/mozilla/network/module/nsNetStream.h +++ b/mozilla/network/module/nsNetStream.h @@ -113,11 +113,6 @@ public: PRUint32 aLen, PRUint32 *aWriteCount); - NS_IMETHOD WriteFrom(nsIInputStream* fromStream, PRUint32 count, - PRUint32 *aWriteCount) { - return NS_ERROR_NOT_IMPLEMENTED; - } - NS_IMETHOD Flush(void) { return NS_OK; } @@ -158,11 +153,6 @@ public: PRUint32 aLen, PRUint32 *aWriteLength); - NS_IMETHOD WriteFrom(nsIInputStream* fromStream, PRUint32 count, - PRUint32 *aWriteCount) { - return NS_ERROR_NOT_IMPLEMENTED; - } - NS_IMETHOD Flush(void) { return NS_OK; } @@ -205,11 +195,6 @@ public: PRUint32 aLen, PRUint32 *aWriteLength); - NS_IMETHOD WriteFrom(nsIInputStream* fromStream, PRUint32 count, - PRUint32 *aWriteCount) { - return NS_ERROR_NOT_IMPLEMENTED; - } - NS_IMETHOD Flush(void) { return NS_OK; } diff --git a/mozilla/rdf/tests/rdfcat/rdfcat.cpp b/mozilla/rdf/tests/rdfcat/rdfcat.cpp index a7b12ff1dbf..207c5ecfee1 100644 --- a/mozilla/rdf/tests/rdfcat/rdfcat.cpp +++ b/mozilla/rdf/tests/rdfcat/rdfcat.cpp @@ -154,11 +154,6 @@ public: return NS_OK; } - NS_IMETHOD WriteFrom(nsIInputStream* fromStream, PRUint32 count, - PRUint32 *aWriteCount) { - return NS_ERROR_NOT_IMPLEMENTED; - } - NS_IMETHOD Flush(void) { PR_Sync(PR_GetSpecialFD(PR_StandardOutput)); return NS_OK; diff --git a/mozilla/rdf/tests/rdfsink/rdfsink.cpp b/mozilla/rdf/tests/rdfsink/rdfsink.cpp index 25c29d868ff..d081c984c6f 100644 --- a/mozilla/rdf/tests/rdfsink/rdfsink.cpp +++ b/mozilla/rdf/tests/rdfsink/rdfsink.cpp @@ -135,11 +135,6 @@ public: return NS_OK; } - NS_IMETHOD WriteFrom(nsIInputStream* fromStream, PRUint32 count, - PRUint32 *aWriteCount) { - return NS_ERROR_NOT_IMPLEMENTED; - } - NS_IMETHOD Flush() { PR_Sync(PR_GetSpecialFD(PR_StandardOutput)); return NS_OK; diff --git a/mozilla/xpcom/build/dlldeps.cpp b/mozilla/xpcom/build/dlldeps.cpp index 95aa4c083e3..39e3856dda5 100644 --- a/mozilla/xpcom/build/dlldeps.cpp +++ b/mozilla/xpcom/build/dlldeps.cpp @@ -23,7 +23,7 @@ #include "nsIAtom.h" #include "nsFileSpec.h" #include "nsIBuffer.h" -#include "nsIByteBufferInputStream.h" +//#include "nsIByteBufferInputStream.h" #include "nsFileStream.h" #include "nsFileSpecStreaming.h" #include "nsSpecialSystemDirectory.h" @@ -50,7 +50,7 @@ void XXXNeverCalled() nsVoidArray(); NS_GetNumberOfAtoms(); nsFileURL(NULL); - NS_NewPipe(NULL, NULL); +// NS_NewPipe(NULL, NULL); NS_NewPipe2(NULL, NULL, 0, 0); nsFileSpec s; NS_NewIOFileStream(NULL, s, 0, 0); diff --git a/mozilla/xpcom/ds/nsBuffer.cpp b/mozilla/xpcom/ds/nsBuffer.cpp index 36b0b0a0e89..7835bcd0157 100644 --- a/mozilla/xpcom/ds/nsBuffer.cpp +++ b/mozilla/xpcom/ds/nsBuffer.cpp @@ -318,7 +318,13 @@ nsBuffer::WriteFrom(nsIInputStream* fromStream, PRUint32 count, PRUint32 *writeC PRUint32 readCount; rv = fromStream->Read(writeBuf, PR_MIN(writeBufLen, count), &readCount); - if (NS_FAILED(rv)) { + if (rv == NS_BASE_STREAM_EOF) { + // If the input stream ends, set EOF on the buffer so that + // nsBuffer::Read later notices it. + SetEOF(); + return NS_OK; + } + else if (NS_FAILED(rv)) { // if we failed to read just report what we were // able to write so far return NS_OK; diff --git a/mozilla/xpcom/ds/nsIBuffer.h b/mozilla/xpcom/ds/nsIBuffer.h index 52bf7218313..12f1ecef65a 100644 --- a/mozilla/xpcom/ds/nsIBuffer.h +++ b/mozilla/xpcom/ds/nsIBuffer.h @@ -24,8 +24,8 @@ class nsIInputStream; class nsIAllocator; -class nsIInputStream; -class nsIOutputStream; +class nsIBufferInputStream; +class nsIBufferOutputStream; #define NS_IBUFFER_IID \ { /* 1eebb300-fb8b-11d2-9324-00104ba0fd40 */ \ @@ -97,16 +97,16 @@ NS_NewPageBuffer(nsIBuffer* *result, PRUint32 growBySize, PRUint32 maxSize); extern NS_COM nsresult -NS_NewBufferInputStream(nsIInputStream* *result, +NS_NewBufferInputStream(nsIBufferInputStream* *result, nsIBuffer* buffer, PRBool blocking = PR_FALSE); extern NS_COM nsresult -NS_NewBufferOutputStream(nsIOutputStream* *result, +NS_NewBufferOutputStream(nsIBufferOutputStream* *result, nsIBuffer* buffer, PRBool blocking = PR_FALSE); extern NS_COM nsresult -NS_NewPipe2(nsIInputStream* *inStrResult, - nsIOutputStream* *outStrResult, +NS_NewPipe2(nsIBufferInputStream* *inStrResult, + nsIBufferOutputStream* *outStrResult, PRUint32 growBySize, PRUint32 maxSize); #endif // nsIBuffer_h___ diff --git a/mozilla/xpcom/io/Makefile.in b/mozilla/xpcom/io/Makefile.in index bec8ddedad6..46ef30b1044 100644 --- a/mozilla/xpcom/io/Makefile.in +++ b/mozilla/xpcom/io/Makefile.in @@ -30,16 +30,16 @@ MODULE = xpcom XPIDL_MODULE = xpcom_io -XPIDLSRCS = \ - nsIFileSpec.idl \ - nsIBaseStream.idl \ - nsIInputStream.idl \ - nsIOutputStream.idl \ - nsIBufferInputStream.idl \ +XPIDLSRCS = \ + nsIFileSpec.idl \ + nsIBaseStream.idl \ + nsIInputStream.idl \ + nsIOutputStream.idl \ + nsIBufferInputStream.idl \ + nsIBufferOutputStream.idl \ $(NULL) CPPSRCS = \ - nsByteBufferInputStream.cpp \ nsEscape.cpp \ nsFileSpec.cpp \ nsFileSpecStreaming.cpp \ @@ -58,7 +58,6 @@ EXPORTS = \ nsFileSpecImpl.h \ nsFileSpecStreaming.h \ nsFileStream.h \ - nsIByteBufferInputStream.h \ nsIFileStream.h \ nsIStringStream.h \ nsIUnicharInputStream.h \ diff --git a/mozilla/xpcom/io/makefile.win b/mozilla/xpcom/io/makefile.win index 268eab5e816..d1cd3dfba5a 100644 --- a/mozilla/xpcom/io/makefile.win +++ b/mozilla/xpcom/io/makefile.win @@ -29,7 +29,6 @@ EXPORTS = \ nsFileSpecImpl.h \ nsFileSpecStreaming.h \ nsFileStream.h \ - nsIByteBufferInputStream.h \ nsIFileStream.h \ nsIStringStream.h \ nsIUnicharInputStream.h \ @@ -39,12 +38,13 @@ EXPORTS = \ NO_XPT_GEN=1 XPIDL_MODULE = xpcom_io -XPIDLSRCS = \ - .\nsIFileSpec.idl \ - .\nsIBaseStream.idl \ - .\nsIInputStream.idl \ - .\nsIOutputStream.idl \ - .\nsIBufferInputStream.idl \ +XPIDLSRCS = \ + .\nsIFileSpec.idl \ + .\nsIBaseStream.idl \ + .\nsIInputStream.idl \ + .\nsIOutputStream.idl \ + .\nsIBufferInputStream.idl \ + .\nsIBufferOutputStream.idl \ $(NULL) ################################################################################ @@ -63,7 +63,6 @@ LINCS = $(LINCS) -I$(PUBLIC)\raptor # until we sort out the filespec/widgets LCFLAGS = -D_IMPL_NS_COM -D_IMPL_NS_BASE -DWIN32_LEAN_AND_MEAN CPP_OBJS = \ - .\$(OBJDIR)\nsByteBufferInputStream.obj \ .\$(OBJDIR)\nsEscape.obj \ .\$(OBJDIR)\nsFileSpec.obj \ .\$(OBJDIR)\nsFileSpecImpl.obj \ diff --git a/mozilla/xpcom/io/nsIBufferInputStream.idl b/mozilla/xpcom/io/nsIBufferInputStream.idl index 8e722902c81..dcc220f714e 100644 --- a/mozilla/xpcom/io/nsIBufferInputStream.idl +++ b/mozilla/xpcom/io/nsIBufferInputStream.idl @@ -27,4 +27,16 @@ interface nsIBufferInputStream : nsIInputStream * Returns the buffer underlying this input stream. */ readonly attribute nsIBuffer Buffer; + + /** + * Fill the input stream so that someone can read from it. + */ + unsigned long Fill(in string inStr, + in unsigned long count); + + /** + * Fill the input stream so that someone can read from it. + */ + unsigned long FillFrom(in nsIInputStream inStr, + in unsigned long count); }; diff --git a/mozilla/xpcom/io/nsIBufferOutputStream.idl b/mozilla/xpcom/io/nsIBufferOutputStream.idl index 14a54fa00e3..d8a984c7dd3 100644 --- a/mozilla/xpcom/io/nsIBufferOutputStream.idl +++ b/mozilla/xpcom/io/nsIBufferOutputStream.idl @@ -27,4 +27,20 @@ interface nsIBufferOutputStream : nsIOutputStream * Returns the buffer underlying this output stream. */ readonly attribute nsIBuffer Buffer; + + /** + * Writes data into the stream from an input stream. + * Implementer's note: This method is defined by this interface in order + * to allow the output stream to efficiently copy the data from the input + * stream into its internal buffer (if any). If this method was provide + * as an external facility, a separate char* buffer would need to be used + * in order to call the output stream's other Write method. + * @param fromStream the stream from which the data is read + * @param count the maximun number of bytes to write + * @return aWriteCount out parameter to hold the number of + * bytes written. if an error occurs, the writecount + * is undefined + */ + unsigned long WriteFrom(in nsIInputStream inStr, in unsigned long count); + }; diff --git a/mozilla/xpcom/io/nsIFileStream.cpp b/mozilla/xpcom/io/nsIFileStream.cpp index fd5de65bbd5..839a0b42452 100644 --- a/mozilla/xpcom/io/nsIFileStream.cpp +++ b/mozilla/xpcom/io/nsIFileStream.cpp @@ -154,11 +154,6 @@ class FileImpl *aWriteCount = bytesWrit; return NS_OK; } - NS_IMETHOD WriteFrom(nsIInputStream* fromStream, PRUint32 aCount, - PRUint32 *aWriteCount) - { - return NS_ERROR_NOT_IMPLEMENTED; - } NS_IMETHOD Flush(); NS_IMETHOD GetAtEOF(PRBool* outAtEOF) diff --git a/mozilla/xpcom/io/nsIOutputStream.idl b/mozilla/xpcom/io/nsIOutputStream.idl index fc86072c742..014dcab0127 100644 --- a/mozilla/xpcom/io/nsIOutputStream.idl +++ b/mozilla/xpcom/io/nsIOutputStream.idl @@ -31,21 +31,6 @@ interface nsIOutputStream : nsIBaseStream */ unsigned long Write(in string buf, in unsigned long count); - /** - * Writes data into the stream from an input stream. - * Implementer's note: This method is defined by this interface in order - * to allow the output stream to efficiently copy the data from the input - * stream into its internal buffer (if any). If this method was provide - * as an external facility, a separate char* buffer would need to be used - * in order to call the output stream's other Write method. - * @param fromStream the stream from which the data is read - * @param count the maximun number of bytes to write - * @return aWriteCount out parameter to hold the number of - * bytes written. if an error occurs, the writecount - * is undefined - */ - unsigned long WriteFrom(in nsIInputStream inStr, in unsigned long count); - /** * Flushes the stream. */ diff --git a/mozilla/xpcom/io/nsIStringStream.cpp b/mozilla/xpcom/io/nsIStringStream.cpp index 5cd5a06b423..5900cf0e118 100644 --- a/mozilla/xpcom/io/nsIStringStream.cpp +++ b/mozilla/xpcom/io/nsIStringStream.cpp @@ -110,11 +110,6 @@ class BasicStringImpl *aWriteCount = bytesWrit; return NS_OK; } - NS_IMETHOD WriteFrom(nsIInputStream* fromStream, PRUint32 aCount, - PRUint32 *aWriteCount) - { - return NS_ERROR_NOT_IMPLEMENTED; - } public: // nsISupports interface diff --git a/mozilla/xpcom/io/nsPipe.cpp b/mozilla/xpcom/io/nsPipe.cpp index d40f83d1ff7..40e1aec3d37 100644 --- a/mozilla/xpcom/io/nsPipe.cpp +++ b/mozilla/xpcom/io/nsPipe.cpp @@ -18,7 +18,7 @@ #include "nsIBuffer.h" #include "nsIBufferInputStream.h" -#include "nsIOutputStream.h" +#include "nsIBufferOutputStream.h" #include "nsAutoLock.h" class nsBufferInputStream; @@ -39,6 +39,8 @@ public: // nsIBufferInputStream methods: NS_IMETHOD GetBuffer(nsIBuffer* *result); + NS_IMETHOD Fill(const char *buf, PRUint32 count, PRUint32 *_retval); + NS_IMETHOD FillFrom(nsIInputStream *inStr, PRUint32 count, PRUint32 *_retval); // nsBufferInputStream methods: nsBufferInputStream(nsIBuffer* buf, PRBool blocking); @@ -63,7 +65,7 @@ protected: //////////////////////////////////////////////////////////////////////////////// -class nsBufferOutputStream : public nsIOutputStream +class nsBufferOutputStream : public nsIBufferOutputStream { public: NS_DECL_ISUPPORTS @@ -73,9 +75,12 @@ public: // nsIOutputStream methods: NS_IMETHOD Write(const char* aBuf, PRUint32 aCount, PRUint32 *aWriteCount); + NS_IMETHOD Flush(void); + + // nsIBufferOutputStream methods: + NS_IMETHOD GetBuffer(nsIBuffer * *aBuffer); NS_IMETHOD WriteFrom(nsIInputStream* fromStream, PRUint32 aCount, PRUint32 *aWriteCount); - NS_IMETHOD Flush(void); // nsBufferOutputStream methods: nsBufferOutputStream(nsIBuffer* buf, PRBool blocking); @@ -110,7 +115,8 @@ nsBufferInputStream::QueryInterface(REFNSIID aIID, void** aInstancePtr) { if (aInstancePtr == nsnull) return NS_ERROR_NULL_POINTER; - if (aIID.Equals(nsIInputStream::GetIID()) || + if (aIID.Equals(nsIBufferInputStream::GetIID()) || + aIID.Equals(nsIInputStream::GetIID()) || aIID.Equals(nsIBaseStream::GetIID()) || aIID.Equals(nsISupports::GetIID())) { *aInstancePtr = this; @@ -181,11 +187,32 @@ nsBufferInputStream::Read(char* aBuf, PRUint32 aCount, PRUint32 *aReadCount) NS_IMETHODIMP nsBufferInputStream::GetBuffer(nsIBuffer* *result) { + if (mBuffer == nsnull) + return NS_BASE_STREAM_CLOSED; + *result = mBuffer; NS_ADDREF(mBuffer); return NS_OK; } +NS_IMETHODIMP +nsBufferInputStream::Fill(const char* buf, PRUint32 count, PRUint32 *result) +{ + if (mBuffer == nsnull) + return NS_BASE_STREAM_CLOSED; + + return mBuffer->Write(buf, count, result); +} + +NS_IMETHODIMP +nsBufferInputStream::FillFrom(nsIInputStream *inStr, PRUint32 count, PRUint32 *result) +{ + if (mBuffer == nsnull) + return NS_BASE_STREAM_CLOSED; + + return mBuffer->WriteFrom(inStr, count, result); +} + nsresult nsBufferInputStream::SetEOF() { @@ -238,7 +265,8 @@ nsBufferInputStream::Fill() //////////////////////////////////////////////////////////////////////////////// NS_COM nsresult -NS_NewBufferInputStream(nsIInputStream* *result, nsIBuffer* buffer, PRBool blocking) +NS_NewBufferInputStream(nsIBufferInputStream* *result, + nsIBuffer* buffer, PRBool blocking) { nsBufferInputStream* str = new nsBufferInputStream(buffer, blocking); if (str == nsnull) @@ -272,7 +300,8 @@ nsBufferOutputStream::QueryInterface(REFNSIID aIID, void** aInstancePtr) { if (aInstancePtr == nsnull) return NS_ERROR_NULL_POINTER; - if (aIID.Equals(nsIOutputStream::GetIID()) || + if (aIID.Equals(nsIBufferOutputStream::GetIID()) || + aIID.Equals(nsIOutputStream::GetIID()) || aIID.Equals(nsIBaseStream::GetIID()) || aIID.Equals(nsISupports::GetIID())) { *aInstancePtr = this; @@ -388,10 +417,19 @@ nsBufferOutputStream::Flush(void) return NS_OK; } +NS_IMETHODIMP +nsBufferOutputStream::GetBuffer(nsIBuffer * *aBuffer) +{ + *aBuffer = mBuffer; + NS_ADDREF(mBuffer); + return NS_OK; +} + //////////////////////////////////////////////////////////////////////////////// NS_COM nsresult -NS_NewBufferOutputStream(nsIOutputStream* *result, nsIBuffer* buffer, PRBool blocking) +NS_NewBufferOutputStream(nsIBufferOutputStream* *result, + nsIBuffer* buffer, PRBool blocking) { nsBufferOutputStream* ostr = new nsBufferOutputStream(buffer, blocking); if (ostr == nsnull) @@ -404,13 +442,13 @@ NS_NewBufferOutputStream(nsIOutputStream* *result, nsIBuffer* buffer, PRBool blo //////////////////////////////////////////////////////////////////////////////// NS_COM nsresult -NS_NewPipe2(nsIInputStream* *inStrResult, - nsIOutputStream* *outStrResult, +NS_NewPipe2(nsIBufferInputStream* *inStrResult, + nsIBufferOutputStream* *outStrResult, PRUint32 growBySize, PRUint32 maxSize) { nsresult rv; - nsIInputStream* inStr = nsnull; - nsIOutputStream* outStr = nsnull; + nsIBufferInputStream* inStr = nsnull; + nsIBufferOutputStream* outStr = nsnull; nsIBuffer* buf = nsnull; rv = NS_NewPageBuffer(&buf, growBySize, maxSize); diff --git a/mozilla/xpcom/tests/TestPipes.cpp b/mozilla/xpcom/tests/TestPipes.cpp index ba340e9e529..584cbec1a1c 100644 --- a/mozilla/xpcom/tests/TestPipes.cpp +++ b/mozilla/xpcom/tests/TestPipes.cpp @@ -17,8 +17,12 @@ */ #include "nsIThread.h" +#if 0 // obsolete old implementation #include "nsIByteBufferInputStream.h" +#endif #include "nsIBuffer.h" +#include "nsIBufferInputStream.h" +#include "nsIBufferOutputStream.h" #include "nsIServiceManager.h" #include "prprf.h" #include "prinrval.h" @@ -135,8 +139,8 @@ int main(int argc, char* argv[]) { nsresult rv; - nsIInputStream* in; - nsIOutputStream* out; + nsIBufferInputStream* in; + nsIBufferOutputStream* out; nsIServiceManager* servMgr; rv = NS_InitXPCOM(&servMgr); @@ -149,7 +153,7 @@ main(int argc, char* argv[]) if (argc > 1 && nsCRT::strcmp(argv[1], "-trace") == 0) gTrace = PR_TRUE; - +#if 0 // obsolete old implementation rv = NS_NewPipe(&in, &out, PR_TRUE, 4096 * 4); if (NS_FAILED(rv)) { printf("NewPipe failed\n"); @@ -163,7 +167,7 @@ main(int argc, char* argv[]) printf("TestPipe failed\n"); return -1; } - +#endif rv = NS_NewPipe2(&in, &out, 4096, 4096 * 4); if (NS_FAILED(rv)) { printf("NewPipe failed\n");