// comm_driver.cpp #include "comm_driver.h" CommDriver::CommDriver() { } CommDriver::~CommDriver() { } CommClient *CommDriver::get_comm_client_ptr(const INT index) { if(index < commlist.size()) return &commlist[index]; else return NULL; } void CommDriver::new_connection() { INT new_fd = 0, i = 0, argp = 1; new_fd = open_connection(); if(new_fd == -1) return; commlist.push_back(); i = commlist.size() - 1; commlist[i].set_fd(new_fd); // make the socket non-blocking ioctl(new_fd, FIONBIO, &argp); } void CommDriver::shutdown_connection(const INT index) { std::vector::iterator it = commlist.begin() + index; commlist.erase(it); close_connection(commlist[index].get_fd()); }