From abd9decf0b62d6659020a3e7bf569a125f558253 Mon Sep 17 00:00:00 2001 From: Michael Lenz Date: Mon, 13 Jan 2014 15:01:25 +0100 Subject: [PATCH] fail/cpn: removed USE_SIZE_PREFIX from SocketComm This removes the ability to directly parse protobufs from the socket, because google::protobuf::Message::ParseFromFileDescriptor() needs a EOF after each message; thus preventing us from sending multiple Message objects over a single socket. Change-Id: I67c0f631071470d6e0ae597e42848036a6db3656 --- src/core/comm/SocketComm.cc | 12 ------------ src/core/comm/SocketComm.hpp | 2 -- 2 files changed, 14 deletions(-) diff --git a/src/core/comm/SocketComm.cc b/src/core/comm/SocketComm.cc index 3cd7593c..0e248eed 100644 --- a/src/core/comm/SocketComm.cc +++ b/src/core/comm/SocketComm.cc @@ -15,7 +15,6 @@ void SocketComm::init() bool SocketComm::sendMsg(int sockfd, google::protobuf::Message& msg) { -#ifdef USE_SIZE_PREFIX int size = htonl(msg.ByteSize()); std::string buf; if (safe_write(sockfd, &size, sizeof(size)) == -1 @@ -23,19 +22,11 @@ bool SocketComm::sendMsg(int sockfd, google::protobuf::Message& msg) || safe_write(sockfd, buf.c_str(), buf.size()) == -1) { return false; } -#else - char c = 0; - if (!msg.SerializeToFileDescriptor(sockfd) - || safe_write(sockfd, &c, 1) == -1) { - return false; - } -#endif return true; } bool SocketComm::rcvMsg(int sockfd, google::protobuf::Message& msg) { -#ifdef USE_SIZE_PREFIX int size; if (safe_read(sockfd, &size, sizeof(size)) == -1) { return false; @@ -49,9 +40,6 @@ bool SocketComm::rcvMsg(int sockfd, google::protobuf::Message& msg) std::string st(buf, size); delete [] buf; return msg.ParseFromString(st); -#else - return msg.ParseFromFileDescriptor(sockfd); -#endif } ssize_t SocketComm::safe_write(int fd, const void *buf, size_t count) diff --git a/src/core/comm/SocketComm.hpp b/src/core/comm/SocketComm.hpp index 1d6ef1a8..b7de6ef4 100644 --- a/src/core/comm/SocketComm.hpp +++ b/src/core/comm/SocketComm.hpp @@ -15,8 +15,6 @@ #include #include -#define USE_SIZE_PREFIX - namespace fail { class SocketComm {