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