nsIBinaryInputStream

This interface allows consumption of primitive data types from a “binary
stream” containing untagged, big-endian binary data, i.e. as produced by an
implementation of nsIBinaryOutputStream. This might be used, for example,
to implement network protocols or to read from architecture-neutral disk
files, i.e. ones that can be read and written by both big-endian and
little-endian platforms.

@See nsIBinaryOutputStream

Methods

setInputStream(aInputStream)

readBoolean()

Read 8-bits from the stream.

Returns

that byte to be treated as a boolean.

read8()

read16()

read32()

read64()

readFloat()

readDouble()

readCString()

Read an 8-bit pascal style string from the stream.
32-bit length field, followed by length 8-bit chars.

readString()

Read an 16-bit pascal style string from the stream.
32-bit length field, followed by length PRUnichars.

readBytes(aLength, aString)

Read an opaque byte array from the stream.

@throws NS_ERROR_FAILURE if it can’t read aLength bytes

Parameters

aLength the number of bytes that must be read.

readByteArray(aLength, aBytes)

Read an opaque byte array from the stream, storing the results
as an array of PRUint8s.

@throws NS_ERROR_FAILURE if it can’t read aLength bytes

Parameters

aLength the number of bytes that must be read.

readArrayBuffer(aLength, aArrayBuffer)

Read opaque bytes from the stream, storing the results in an ArrayBuffer.

Parameters

aLength the number of bytes that must be read
aArrayBuffer the arraybuffer in which to store the results Note: passing view.buffer, where view is an ArrayBufferView of an ArrayBuffer, is not valid unless view.byteOffset == 0.

Returns

The number of bytes actually read into aArrayBuffer.