Skip to content

Commit

Permalink
Merge remote-tracking branch 'esc/master' into io-service-loop-fix
Browse files Browse the repository at this point in the history
  • Loading branch information
jzemlo committed Nov 8, 2018
2 parents 6f276ed + cebc256 commit b0141e6
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 19 deletions.
16 changes: 14 additions & 2 deletions src/escd/network/peerclient.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,13 @@ std::size_t PeerClient::writeSync(void* data , uint32_t len, int timeout)
boost::asio::async_write(m_socket, boost::asio::buffer(data, len), boost::bind(&PeerClient::operationDone, this, boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred));

do{
m_socket.get_io_service().run_one();
auto& ioService = m_socket.get_io_service();
if (ioService.stopped()) {
ELOG("Stopping writeSync task because io_service is stopped\n");
m_ec = boost::asio::error::timed_out;
break;
}
ioService.run_one();
}
while (m_ec == boost::asio::error::would_block);

Expand All @@ -103,7 +109,13 @@ std::size_t PeerClient::readSync(void* data , uint32_t len, int timeout)
boost::asio::async_read(m_socket, boost::asio::buffer(data, len), boost::bind(&PeerClient::operationDone, this, boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred));

do{
m_socket.get_io_service().run_one();
auto& ioService = m_socket.get_io_service();
if (ioService.stopped()) {
ELOG("Stopping readSync task because io_service is stopped\n");
m_ec = boost::asio::error::timed_out;
break;
}
ioService.run_one();
}
while (m_ec == boost::asio::error::would_block);

Expand Down
18 changes: 1 addition & 17 deletions src/escd/network/peerclientmanager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -136,8 +136,6 @@ void PeerConnectManager::addActivePeer(uint16_t svid, boost::shared_ptr<peer> pe

void PeerConnectManager::addActivePeerImpl(uint16_t svid, boost::shared_ptr<peer> peer)
{
DLOG("ENTERED addActivePeerImpl, peer svid:%u\n", svid);

try{
boost::upgrade_lock< boost::shared_mutex > lock(m_peerMx);
DLOG("Add active peer svid: %ud\n", svid);
Expand All @@ -151,8 +149,6 @@ void PeerConnectManager::addActivePeerImpl(uint16_t svid, boost::shared_ptr<peer
{
ELOG("ERROR: Leave peer exception%s", e.what());
}

DLOG("LEFT addActivePeerImpl\n");
}

void PeerConnectManager::leevePeer(uint16_t svid, std::string address, unsigned short port)
Expand Down Expand Up @@ -456,7 +452,6 @@ void PeerConnectManager::deliver(message_ptr msg, uint16_t svid)

void PeerConnectManager::deliverImpl(message_ptr msg, uint16_t svid)
{
DLOG("ENTERED deliverImpl, peer svid:%u\n", svid);
if (msg->data != nullptr) {
DLOG("msg type:%u\n", msg->data[0]);
}
Expand All @@ -471,7 +466,6 @@ void PeerConnectManager::deliverImpl(message_ptr msg, uint16_t svid)
}

msg->sent_erase(svid);
DLOG("LEFT deliverImpl 2\n");
}

void PeerConnectManager::deliverToAll(message_ptr msg)
Expand All @@ -481,7 +475,6 @@ void PeerConnectManager::deliverToAll(message_ptr msg)

void PeerConnectManager::deliverToAllImpl(message_ptr msg)
{
DLOG("ENTERED deliverToAllImpl\n");
if (msg->data != nullptr) {
DLOG("msg type:%u\n", msg->data[0]);
}
Expand All @@ -490,8 +483,6 @@ void PeerConnectManager::deliverToAllImpl(message_ptr msg)
for(auto& peer: m_activePeers){
peer.second->deliver(msg);
}

DLOG("LEFT deliverToAllImpl\n");
}

void PeerConnectManager::update(message_ptr msg, uint16_t svid)
Expand All @@ -501,7 +492,6 @@ void PeerConnectManager::update(message_ptr msg, uint16_t svid)

void PeerConnectManager::updateImpl(message_ptr msg, uint16_t svid)
{
DLOG("ENTERED updateImpl, peer svid:%u\n", svid);
if (msg->data != nullptr) {
DLOG("msg type:%u\n", msg->data[0]);
}
Expand All @@ -511,8 +501,6 @@ void PeerConnectManager::updateImpl(message_ptr msg, uint16_t svid)
if(svidPeer != m_activePeers.end()){
svidPeer->second->update(msg);
}

DLOG("LEFT updateImpl\n");
}

void PeerConnectManager::updateAll(message_ptr msg)
Expand All @@ -522,18 +510,14 @@ void PeerConnectManager::updateAll(message_ptr msg)

void PeerConnectManager::updateAllImpl(message_ptr msg)
{
DLOG("ENTERED updateAllImpl\n");
if (msg->data != nullptr) {
DLOG("msg type:%u\n", msg->data[0]);
}
boost::shared_lock< boost::shared_mutex > lock(m_peerMx);

for(auto& peer: m_activePeers)
{
for(auto& peer: m_activePeers) {
peer.second->update(msg);
}

DLOG("LEFT updateAllImpl\n");
}

void PeerConnectManager::getReadyPeers(std::set<uint16_t>& ready)
Expand Down

0 comments on commit b0141e6

Please sign in to comment.