# class MemoryStream | A Stream that operates on DataBlocks in memory. More...
Full name | `TelEngine::MemoryStream`
Definition | `#include <yateclass.h>`
Inherits | TelEngine::Stream [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- inline MemoryStream ()
- inline MemoryStream (const DataBlock& data)
- inline const DataBlock& data () const
- virtual bool terminate ()
- virtual bool valid () const
- virtual int writeData (const void* buffer, int len)
- virtual int readData (void* buffer, int len)
- virtual int64_t length ()
- virtual int64_t seek (SeekPos pos, int64_t offset = 0)

#### Protected Members

- DataBlock m_data
- int64_t m_offset

## Detailed Description

An implementation of a Stream that reads and writes data in a DataBlock

inline MemoryStream () | ### MemoryStream

Constructor of an empty stream

inline MemoryStream (const DataBlock& data) | ### MemoryStream

Constructor of aan initialized stream

Parameters:

data | Initial data to be copied in the memory stream

inline const DataBlock& data () | ### data

[const]

Get read-only access to the DataBlock held

Returns: Const reference to the DataBlock

bool terminate () | ### terminate

[virtual]

Do-nothing termination handler

Returns: True to signal the stream was closed

Reimplemented from Stream.

bool valid () | ### valid

[const virtual]

Do-nothing validity check

Returns: True to indicate the stream is valid

Reimplemented from Stream.

int writeData (const void* buffer, int len) | ### writeData

[virtual]

Write new data to the DataBlock at current position, advance pointer

Parameters:

buffer | Buffer of source data
len | Length of data to be written

Returns: Number of bytes written, negative on error

Reimplemented from Stream.

int readData (void* buffer, int len) | ### readData

[virtual]

Get data from internal DataBlock, advance pointer

Parameters:

buffer | Buffer for getting the data
len | Length of the buffer

Returns: Number of bytes read, negative on error, zero on end of data

Reimplemented from Stream.

int64_t length () | ### length

[virtual]

Get the length of the stream

Returns: Length of the DataBlock in memory

Reimplemented from Stream.

int64_t seek (SeekPos pos, int64_t offset = 0) | ### seek

[virtual]

Set the read/write pointer

Parameters:

pos | The seek start as enumeration
offset | The number of bytes to move the pointer from starting position

Returns: The new position of the stream read/write pointer. Negative on failure

Reimplemented from Stream.

DataBlock m_data | ### m_data

[protected]

int64_t m_offset | ### m_offset

[protected]

Generated by: paulc on bussard on Fri Dec 21 16:28:34 2012, using kdoc 2.0a54.