Class ErlOutputStream
Provides a stream for encoding Erlang terms to external format for
transmission or storage
Inheritance
System.Object
System.MarshalByRefObject
System.IO.Stream
ErlOutputStream
Implements
System.IDisposable
Inherited Members
System.IO.Stream.Null
System.IO.Stream.BeginRead(System.Byte[], System.Int32, System.Int32, System.AsyncCallback, System.Object)
System.IO.Stream.BeginWrite(System.Byte[], System.Int32, System.Int32, System.AsyncCallback, System.Object)
System.IO.Stream.Close()
System.IO.Stream.CopyTo(System.IO.Stream)
System.IO.Stream.CopyTo(System.IO.Stream, System.Int32)
System.IO.Stream.CopyToAsync(System.IO.Stream)
System.IO.Stream.CopyToAsync(System.IO.Stream, System.Int32)
System.IO.Stream.CopyToAsync(System.IO.Stream, System.Int32, System.Threading.CancellationToken)
System.IO.Stream.CreateWaitHandle()
System.IO.Stream.Dispose()
System.IO.Stream.Dispose(System.Boolean)
System.IO.Stream.EndRead(System.IAsyncResult)
System.IO.Stream.EndWrite(System.IAsyncResult)
System.IO.Stream.FlushAsync()
System.IO.Stream.FlushAsync(System.Threading.CancellationToken)
System.IO.Stream.ObjectInvariant()
System.IO.Stream.ReadAsync(System.Byte[], System.Int32, System.Int32)
System.IO.Stream.ReadAsync(System.Byte[], System.Int32, System.Int32, System.Threading.CancellationToken)
System.IO.Stream.ReadByte()
System.IO.Stream.Synchronized(System.IO.Stream)
System.IO.Stream.WriteAsync(System.Byte[], System.Int32, System.Int32)
System.IO.Stream.WriteAsync(System.Byte[], System.Int32, System.Int32, System.Threading.CancellationToken)
System.IO.Stream.WriteByte(System.Byte)
System.IO.Stream.CanTimeout
System.IO.Stream.ReadTimeout
System.IO.Stream.WriteTimeout
System.MarshalByRefObject.GetLifetimeService()
System.MarshalByRefObject.InitializeLifetimeService()
System.MarshalByRefObject.MemberwiseClone(System.Boolean)
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Assembly: NFX.Erlang.dll
Syntax
public class ErlOutputStream : Stream, IDisposable
Constructors
ErlOutputStream(IErlObject, Boolean, Boolean, Int32)
Create a stream containing the serialized Erlang term.
Optionally include in the beginning Erlang protocol version byte
Declaration
public ErlOutputStream(IErlObject o = null, bool writeVersion = true, bool writePktSize = false, int capacity = 2048)
Parameters
Type |
Name |
Description |
IErlObject |
o |
|
System.Boolean |
writeVersion |
|
System.Boolean |
writePktSize |
|
System.Int32 |
capacity |
|
Properties
CanRead
Declaration
public override bool CanRead { get; }
Property Value
Type |
Description |
System.Boolean |
|
Overrides
System.IO.Stream.CanRead
CanSeek
Declaration
public override bool CanSeek { get; }
Property Value
Type |
Description |
System.Boolean |
|
Overrides
System.IO.Stream.CanSeek
CanWrite
Declaration
public override bool CanWrite { get; }
Property Value
Type |
Description |
System.Boolean |
|
Overrides
System.IO.Stream.CanWrite
Capacity
Get the current capacity of the stream. As bytes are added the
capacity of the stream is increased automatically, however this
method returns the current size
Declaration
public int Capacity { get; }
Property Value
Type |
Description |
System.Int32 |
|
Length
Get the number of bytes in the stream
Declaration
public override long Length { get; }
Property Value
Type |
Description |
System.Int64 |
|
Overrides
System.IO.Stream.Length
Position
Get the current position in the stream
Declaration
public override long Position { get; set; }
Property Value
Type |
Description |
System.Int64 |
|
Overrides
System.IO.Stream.Position
Methods
EncodeSize(IErlObject)
Declaration
public static int EncodeSize(IErlObject o)
Parameters
Returns
Type |
Description |
System.Int32 |
|
Flush()
Declaration
public override void Flush()
Overrides
System.IO.Stream.Flush()
GetBuffer()
Declaration
public byte[] GetBuffer()
Returns
Type |
Description |
System.Byte[] |
|
Declaration
public ErlInputStream InputStream(int offset)
Parameters
Type |
Name |
Description |
System.Int32 |
offset |
|
Returns
Poke4BE(Int32, Int32)
Write the low four bytes of a value to the stream in bif endian
order, at the specified position. If the position specified is
beyond the end of the stream, this method will have no effect
Declaration
public void Poke4BE(int offset, int n)
Parameters
Type |
Name |
Description |
System.Int32 |
offset |
|
System.Int32 |
n |
|
Read(Byte[], Int32, Int32)
Declaration
public override int Read(byte[] buffer, int offset, int count)
Parameters
Type |
Name |
Description |
System.Byte[] |
buffer |
|
System.Int32 |
offset |
|
System.Int32 |
count |
|
Returns
Type |
Description |
System.Int32 |
|
Overrides
System.IO.Stream.Read(System.Byte[], System.Int32, System.Int32)
Reset()
Reset the stream so that it can be reused
Declaration
Seek(Int64, SeekOrigin)
Declaration
public override long Seek(long offset, SeekOrigin origin)
Parameters
Type |
Name |
Description |
System.Int64 |
offset |
|
System.IO.SeekOrigin |
origin |
|
Returns
Type |
Description |
System.Int64 |
|
Overrides
System.IO.Stream.Seek(System.Int64, System.IO.SeekOrigin)
SetLength(Int64)
Declaration
public override void SetLength(long value)
Parameters
Type |
Name |
Description |
System.Int64 |
value |
|
Overrides
System.IO.Stream.SetLength(System.Int64)
ToBinary()
Declaration
public ErlBinary ToBinary()
Returns
ToBinaryString()
Convert stream content to printable binary string (i.e. <<131,10,...>>)
Declaration
public string ToBinaryString()
Returns
Type |
Description |
System.String |
|
Write(IErlObject)
Write an arbitrary Erlang term to the stream.
Declaration
public void Write(IErlObject o)
Parameters
Write(Byte)
Write one byte to the stream
Declaration
public void Write(byte b)
Parameters
Type |
Name |
Description |
System.Byte |
b |
|
Write(Byte[], Int32, Int32)
Declaration
public override void Write(byte[] buffer, int offset, int count)
Parameters
Type |
Name |
Description |
System.Byte[] |
buffer |
|
System.Int32 |
offset |
|
System.Int32 |
count |
|
Overrides
System.IO.Stream.Write(System.Byte[], System.Int32, System.Int32)
WriteAtom(ErlAtom, Encoding)
Declaration
public void WriteAtom(ErlAtom atom, Encoding encoding = null)
Parameters
Type |
Name |
Description |
ErlAtom |
atom |
|
System.Text.Encoding |
encoding |
|
WriteAtom(String, Encoding)
Write string value as atom to the stream
Declaration
public void WriteAtom(string atom, Encoding encoding = null)
Parameters
Type |
Name |
Description |
System.String |
atom |
|
System.Text.Encoding |
encoding |
|
WriteBinary(ErlBinary)
Write an array of bytes to the stream as an Erlang binary
Declaration
public void WriteBinary(ErlBinary bin)
Parameters
WriteBoolean(ErlBoolean)
Write a boolean value to the stream as the Erlang atom 'true' or 'false'
Declaration
public void WriteBoolean(ErlBoolean b)
Parameters
WriteByte(ErlByte)
Write a single byte to the stream as an Erlang integer
Declaration
public void WriteByte(ErlByte b)
Parameters
WriteChar(Char)
Write a character to the stream as an Erlang integer
Declaration
public void WriteChar(char c)
Parameters
Type |
Name |
Description |
System.Char |
c |
|
WriteDouble(ErlDouble)
Write a double value to the stream
Declaration
public void WriteDouble(ErlDouble d)
Parameters
WriteInt(Int32)
Write an integer to the stream
Declaration
public void WriteInt(int i)
Parameters
Type |
Name |
Description |
System.Int32 |
i |
|
WriteList(ErlList)
Write Erlang list to stream
Declaration
public void WriteList(ErlList list)
Parameters
WriteListHead(Int32, Boolean)
Write an Erlang list header to the stream. After calling this
method, you must write 'arity' elements to the stream followed by
nil, or it will not be possible to decode it later.
Declaration
public void WriteListHead(int arity, bool isStr = false)
Parameters
Type |
Name |
Description |
System.Int32 |
arity |
|
System.Boolean |
isStr |
|
WriteLong(ErlLong)
Write an Erlang long to the stream
Declaration
public void WriteLong(ErlLong l)
Parameters
WriteLong(Int64)
Declaration
public void WriteLong(long l)
Parameters
Type |
Name |
Description |
System.Int64 |
l |
|
WriteMap(ErlMap)
Write an Erlang map to the stream.
Declaration
public void WriteMap(ErlMap map)
Parameters
Type |
Name |
Description |
ErlMap |
map |
|
WriteNil()
Write an empty Erlang list to the stream
Declaration
WritePid(ErlPid)
Write an Erlang PID to the stream
Declaration
public void WritePid(ErlPid pid)
Parameters
Type |
Name |
Description |
ErlPid |
pid |
|
WritePort(ErlPort)
Write an Erlang port to the stream
Declaration
public void WritePort(ErlPort p)
Parameters
WriteRef(ErlRef)
Write a new style (R6 and later) Erlang ref to the stream
Declaration
public void WriteRef(ErlRef r)
Parameters
Type |
Name |
Description |
ErlRef |
r |
|
WriteString(ErlString, Encoding)
Write a string to the stream
Declaration
public void WriteString(ErlString s, Encoding encoding = null)
Parameters
Type |
Name |
Description |
ErlString |
s |
|
System.Text.Encoding |
encoding |
|
WriteString(String, Encoding)
Write a string to the stream
Declaration
public void WriteString(string s, Encoding encoding = null)
Parameters
Type |
Name |
Description |
System.String |
s |
|
System.Text.Encoding |
encoding |
|
WriteTo(Stream)
Write the contents of the stream to an OutputStream
Declaration
public void WriteTo(Stream os)
Parameters
Type |
Name |
Description |
System.IO.Stream |
os |
|
WriteTrace(ErlTrace)
Write Erlang tuple to stream
Declaration
public void WriteTrace(ErlTrace tup)
Parameters
WriteTuple(ErlTuple)
Write Erlang tuple to stream
Declaration
public void WriteTuple(ErlTuple tup)
Parameters
WriteTupleHead(Int32)
Write an Erlang tuple header to the stream. After calling this
method, you must write 'arity' elements to the stream or it will
not be possible to decode it later.
Declaration
public void WriteTupleHead(int arity)
Parameters
Type |
Name |
Description |
System.Int32 |
arity |
|
Implements
System.IDisposable
Extension Methods