Defines an interface and common methods for sending simple messages (see simple_message). This interface makes a bare minimum of assumptions: More...
#include <smpl_msg_connection.h>
Public Member Functions | |
virtual bool | isConnected ()=0 |
return connection status | |
virtual bool | makeConnect ()=0 |
connects to the remote host | |
virtual bool | receiveMsg (industrial::simple_message::SimpleMessage &message) |
Receives a message using the data connection. | |
bool | sendAndReceiveMsg (industrial::simple_message::SimpleMessage &send, industrial::simple_message::SimpleMessage &recv, bool verbose=false) |
Performs a complete send and receive. This is helpful when sending a message that requires and explicit reply. | |
virtual bool | sendMsg (industrial::simple_message::SimpleMessage &message) |
Sends a message using the data connection. | |
Private Member Functions | |
virtual bool | receiveBytes (industrial::byte_array::ByteArray &buffer, industrial::shared_types::shared_int num_bytes)=0 |
Method used by receive message interface method. This should be overridden for the specific connection type. | |
virtual bool | sendBytes (industrial::byte_array::ByteArray &buffer)=0 |
Method used by send message interface method. This should be overridden for the specific connection type. |
Defines an interface and common methods for sending simple messages (see simple_message). This interface makes a bare minimum of assumptions:
1. The connection is capable of sending raw bytes (encapsulated within a simple message)
2. The data connection has an explicit connect that establishes the connection (and an associated disconnect method). NOTE: For data connections that are connectionless, such as UDP, the connection method can be a NULL operation.
Definition at line 67 of file smpl_msg_connection.h.
virtual bool industrial::smpl_msg_connection::SmplMsgConnection::isConnected | ( | ) | [pure virtual] |
return connection status
Implemented in industrial::simple_socket::SimpleSocket.
virtual bool industrial::smpl_msg_connection::SmplMsgConnection::makeConnect | ( | ) | [pure virtual] |
connects to the remote host
Implemented in industrial::tcp_client::TcpClient, industrial::tcp_server::TcpServer, industrial::udp_client::UdpClient, and industrial::udp_server::UdpServer.
virtual bool industrial::smpl_msg_connection::SmplMsgConnection::receiveBytes | ( | industrial::byte_array::ByteArray & | buffer, |
industrial::shared_types::shared_int | num_bytes | ||
) | [private, pure virtual] |
Method used by receive message interface method. This should be overridden for the specific connection type.
data | to receive. |
size | (in bytes) of data to receive |
Implemented in industrial::simple_socket::SimpleSocket.
bool industrial::smpl_msg_connection::SmplMsgConnection::receiveMsg | ( | industrial::simple_message::SimpleMessage & | message | ) | [virtual] |
Receives a message using the data connection.
populated | with received message |
Reimplemented in industrial::udp_socket::UdpSocket.
Definition at line 79 of file smpl_msg_connection.cpp.
bool industrial::smpl_msg_connection::SmplMsgConnection::sendAndReceiveMsg | ( | industrial::simple_message::SimpleMessage & | send, |
industrial::simple_message::SimpleMessage & | recv, | ||
bool | verbose = false |
||
) |
Performs a complete send and receive. This is helpful when sending a message that requires and explicit reply.
message | to send |
populated | with received message |
verbosity | level of low level logging |
Definition at line 127 of file smpl_msg_connection.cpp.
virtual bool industrial::smpl_msg_connection::SmplMsgConnection::sendBytes | ( | industrial::byte_array::ByteArray & | buffer | ) | [private, pure virtual] |
Method used by send message interface method. This should be overridden for the specific connection type.
data | to send. |
Implemented in industrial::simple_socket::SimpleSocket.
bool industrial::smpl_msg_connection::SmplMsgConnection::sendMsg | ( | industrial::simple_message::SimpleMessage & | message | ) | [virtual] |
Sends a message using the data connection.
message | to send |
Definition at line 56 of file smpl_msg_connection.cpp.