Class TcsIO¶
Defined in File tcs_interface.h
Class Documentation¶
-
class TcsIO¶
interface class provides the actual I/O for a TCS device
There are (at least) two TCS “devices”, the real and simulated. For safety, the client must specify which TCS is to be used, which prevents a casual “open” command from accidentally opening the real TCS when the simulated was intended.
This class performs the I/O with the TCS.
Public Functions
-
inline TcsIO(const std::string &_name, const std::string &_host, int _port, char _term_write, char _term_read)¶
-
inline std::string gethost() const¶
-
inline std::string getname() const¶
-
inline long initialize_sockets()¶
create and open sockets to TCS
This creates and opens poolsize+1 sockets, 1 for slow-response commands and poolsize for fast-response commands, which are placed into a pool.
- Returns:
ERROR | NO_ERROR
-
inline std::shared_ptr<Network::Interface> get_connection(TCS::ConnectionType conn_type)¶
return a shared pointer to a socket connection
- Parameters:
conn_type – [in] TCS::ConnectionType specifies slow or fast response
- Returns:
shared_ptr<Network::Interface>
-
inline long execute_command(const std::string &cmd, std::string &reply, TCS::ConnectionType conn_type)¶
get a connection and send a command to that connection
This command is overloaded, calls execute_command with a default timeout.
- Parameters:
cmd – [in] command to send to TCS
reply – [in] reference to string holds reply
conn_type – [in] TCS::ConnectionType specifies connection type
- Returns:
ERROR | NO_ERROR
-
inline long execute_command(const std::string &cmd, std::string &reply, TCS::ConnectionType conn_type, int timeout)¶
get a connection and send a command to that connection
This command is overloaded.
- Parameters:
cmd – [in] command to send to TCS
reply – [in] reference to string holds reply
conn_type – [in] TCS::ConnectionType specifies connection type
timeout – [in] timeout for Poll in milliseconds
- Returns:
ERROR | NO_ERROR
return a connection to the pool
Returns a fast-response socket to the pool for use by another thread.
- Parameters:
sock – [in] shared pointer to socket connection
-
inline bool isconnected()¶
returns true if any sockets are connected to the TCS
- Returns:
true | false
-
inline long close()¶
closes all socket connections
- Returns:
ERROR | NO_ERROR
Public Members
-
std::vector<Connection> pool¶
pool for fast-response commands
Public Static Attributes
-
static const size_t poolsize = 3¶
size of fast-response connection pool
-
inline TcsIO(const std::string &_name, const std::string &_host, int _port, char _term_write, char _term_read)¶