INTRODUCTION
Overview
Download and Install
Documentation
Publications

REPOSITORY
Libraries

DEVELOPER
Dev Guide
Dashboard

PEOPLE
Contributors
Users

SourceForge.net Logo
Project
Download
Mailing lists

 

         

flexiport::LogWriterPort Class Reference

Logging implementation of the Port class. An underlying Port object is used to perform the actual communications. All actions taken by that port are logged, including data transferred. The log file can be used with a LogReaderPort to simulate a Port object and perform testing. More...

#include <logwriterport.h>

Inherits flexiport::Port.

List of all members.

Public Member Functions

void Open ()
 Open the port.
void Close ()
 Close the port.
ssize_t Read (void *const buffer, size_t count)
 Read from the port.
ssize_t ReadFull (void *const buffer, size_t count)
 Read the requested quantity of data from the port.
ssize_t Skip (size_t count)
 Dump data until the specified number of bytes have been read.
ssize_t SkipUntil (uint8_t terminator, unsigned int count)
 Read and dump data until the specified termination character has been seen count times.
ssize_t BytesAvailable ()
 Get the number of bytes waiting to be read at the port. Returns immediatly.
ssize_t BytesAvailableWait ()
 Get the number of bytes waiting after blocking for the timeout.
ssize_t Write (const void *const buffer, size_t count)
 Write data to the port.
void Flush ()
 Flush the port's input and output buffers, discarding all data.
void Drain ()
 Drain the port's input and output buffers.
std::string GetStatus () const
 Get the status of the port (type, device, etc).
void SetTimeout (Timeout timeout)
 Set the timeout value in milliseconds.
void SetCanRead (bool canRead)
 Set the read permissions of the port.
void SetCanWrite (bool canWrite)
 Set the write permissions of the port.
bool IsOpen () const
 Check if the port is open.


Detailed Description

Logging implementation of the Port class. An underlying Port object is used to perform the actual communications. All actions taken by that port are logged, including data transferred. The log file can be used with a LogReaderPort to simulate a Port object and perform testing.

To create a LogWriterPort, append "log" to the port type in the port options passed to CreatePort. For example, a log writer that uses a serial port would be specified as the type "seriallog". Similarly, for a TCP port, use "tcplog".

Note:
Log files greater than 2GB in size are not supported.

The timer resolution under Windows is milliseconds, not microseconds. This may result in inaccurate replay when using a log file created on a POSIX-compatible operating system.

See the Port class documentation for how to use the common API.

Options
  • file <string>
    • File name to save the log to.
    • Default: port.log
All unused options will be passed on to the underlying port used.
The documentation for this class was generated from the following files:
 

Generated for GearBox by  doxygen 1.4.5