|
basix_doc 0.1
|
#include <posix_port.hpp>
Definition at line 26 of file posix_port.hpp.
| posix_port_rep | ( | int | kind2, |
| int | fd2 | ||
| ) |
Definition at line 30 of file posix_port.cpp.
References posix_port_rep::fd, mmx::in_count, posix_port_rep::kind, and mmx::out_count.
| ~posix_port_rep | ( | ) |
Definition at line 38 of file posix_port.cpp.
References posix_port_rep::fd, mmx::in_count, posix_port_rep::kind, mmx::out_count, and mmx::reset().
| port accept | ( | ) | [virtual, inherited] |
Reimplemented in socket_port_rep.
Definition at line 87 of file port.cpp.
References ERROR, port_rep::expression(), mmx::lf, and mmx::mmerr.
{
mmerr << "port= " << expression () << lf;
ERROR ("socket server port expected");
}
| virtual bool busy | ( | ) | [inline, virtual] |
Reimplemented from port_rep.
Reimplemented in file_port_rep.
Definition at line 41 of file posix_port.hpp.
References posix_port_rep::alive, posix_port_rep::buffer, posix_port_rep::feed(), mmx::N(), and posix_port_rep::pos.
| virtual nat can_read | ( | ) | [inline, virtual] |
Reimplemented from port_rep.
Reimplemented in file_port_rep.
Definition at line 43 of file posix_port.hpp.
References posix_port_rep::buffer, posix_port_rep::feed(), mmx::N(), and posix_port_rep::pos.
| virtual nat can_write | ( | ) | [inline, virtual] |
Reimplemented from port_rep.
Reimplemented in file_port_rep.
Definition at line 42 of file posix_port.hpp.
References posix_port_rep::alive.
Reimplemented in composite_port_rep, and formatting_port_rep.
Definition at line 93 of file port.cpp.
References ERROR, port_rep::expression(), mmx::lf, and mmx::mmerr.
{
mmerr << "port= " << expression () << lf;
ERROR ("composite port expected");
}
| bool error_flag | ( | ) | [virtual, inherited] |
Reimplemented in composite_port_rep, formatting_port_rep, and error_port_rep.
Definition at line 38 of file port.cpp.
{
return false;
}
| string error_message | ( | ) | [virtual, inherited] |
Reimplemented in composite_port_rep, formatting_port_rep, and error_port_rep.
Definition at line 43 of file port.cpp.
{
return "";
}
| virtual syntactic expression | ( | ) | const [pure virtual, inherited] |
Implemented in composite_port_rep, file_port_rep, formatting_port_rep, pipe_port_rep, error_port_rep, socket_port_rep, output_string_port_rep, input_string_port_rep, and input_output_string_port_rep.
Referenced by port_rep::accept(), port_rep::component(), port_rep::format(), port_rep::read(), and port_rep::write().
| void feed | ( | ) | [virtual] |
Reimplemented in socket_port_rep.
Definition at line 62 of file posix_port.cpp.
References posix_port_rep::alive, posix_port_rep::buffer, ERROR, posix_port_rep::fd, posix_port_rep::read(), and posix_port_rep::wait().
Referenced by posix_port_rep::busy(), posix_port_rep::can_read(), and posix_port_rep::read().
| void flush | ( | ) | [virtual, inherited] |
Reimplemented in composite_port_rep, file_port_rep, and formatting_port_rep.
Definition at line 83 of file port.cpp.
{
}
| void format | ( | const print_format & | fm | ) | [virtual, inherited] |
Reimplemented in formatting_port_rep.
Definition at line 99 of file port.cpp.
References ERROR, port_rep::expression(), mmx::lf, and mmx::mmerr.
{
mmerr << "port= " << expression () << lf;
ERROR ("formatting port expected");
}
| virtual bool is_input_port | ( | ) | [inline, virtual] |
Reimplemented from port_rep.
Definition at line 40 of file posix_port.hpp.
References posix_port_rep::kind.
{ return (kind & 2) != 0; }
| virtual bool is_output_port | ( | ) | [inline, virtual] |
Reimplemented from port_rep.
Definition at line 39 of file posix_port.hpp.
References posix_port_rep::kind.
{ return (kind & 1) != 0; }
| virtual void read | ( | char * | s, |
| nat | n | ||
| ) | [inline, virtual] |
Reimplemented from port_rep.
Reimplemented in file_port_rep.
Definition at line 45 of file posix_port.hpp.
References posix_port_rep::buffer, posix_port_rep::feed(), mmx::inside(), mmx::mem_copy(), n, mmx::N(), and posix_port_rep::pos.
Referenced by posix_port_rep::feed().
| void send | ( | const char * | s, |
| nat | n | ||
| ) | [virtual] |
Reimplemented in socket_port_rep.
Definition at line 54 of file posix_port.cpp.
References posix_port_rep::alive, posix_port_rep::fd, n, s, and posix_port_rep::write().
Referenced by posix_port_rep::write().
| bool wait | ( | int | msecs | ) | [virtual] |
Reimplemented from port_rep.
Definition at line 77 of file posix_port.cpp.
References posix_port_rep::alive, posix_port_rep::fd, and posix_port_rep::kind.
Referenced by socket_port_rep::accept(), socket_port_rep::feed(), and posix_port_rep::feed().
{
//mmout << "Wait " << msecs << " ms on " << expression () << "\n";
if ((kind & 2) == 0 || !alive) return false;
fd_set in_fds;
FD_ZERO (&in_fds);
FD_SET (fd, &in_fds);
nat nr;
struct timeval tv;
tv.tv_sec = msecs / 1000;
tv.tv_usec = 1000 * (msecs % 1000);
if (msecs < 0) nr= select (fd + 1, &in_fds, NULL, NULL, NULL);
else nr= select (fd + 1, &in_fds, NULL, NULL, &tv);
//mmout << "Received " << nr << " on " << fd << "\n";
return nr > 0;
}
| virtual void write | ( | const char * | s, |
| nat | n | ||
| ) | [inline, virtual] |
Reimplemented from port_rep.
Reimplemented in file_port_rep.
Definition at line 44 of file posix_port.hpp.
References posix_port_rep::send().
Referenced by posix_port_rep::send().
bool alive [protected] |
Definition at line 32 of file posix_port.hpp.
Referenced by socket_port_rep::accept(), posix_port_rep::busy(), posix_port_rep::can_write(), socket_port_rep::feed(), posix_port_rep::feed(), socket_port_rep::send(), posix_port_rep::send(), and posix_port_rep::wait().
Definition at line 30 of file posix_port.hpp.
Referenced by posix_port_rep::busy(), posix_port_rep::can_read(), socket_port_rep::feed(), posix_port_rep::feed(), and posix_port_rep::read().
int fd [protected] |
Definition at line 29 of file posix_port.hpp.
Referenced by socket_port_rep::accept(), socket_port_rep::feed(), posix_port_rep::feed(), posix_port_rep::posix_port_rep(), socket_port_rep::send(), posix_port_rep::send(), posix_port_rep::wait(), pipe_port_rep::~pipe_port_rep(), posix_port_rep::~posix_port_rep(), and socket_port_rep::~socket_port_rep().
int kind [protected] |
Definition at line 28 of file posix_port.hpp.
Referenced by file_port_rep::busy(), file_port_rep::can_read(), file_port_rep::can_write(), file_port_rep::expression(), posix_port_rep::is_input_port(), posix_port_rep::is_output_port(), posix_port_rep::posix_port_rep(), posix_port_rep::wait(), and posix_port_rep::~posix_port_rep().
Definition at line 31 of file posix_port.hpp.
Referenced by posix_port_rep::busy(), posix_port_rep::can_read(), socket_port_rep::feed(), and posix_port_rep::read().