diff options
author | Kevin Rocard <kevinx.rocard@intel.com> | 2014-04-25 15:11:12 +0200 |
---|---|---|
committer | Mattijs Korpershoek <mattijsx.korpershoek@intel.com> | 2014-06-25 10:52:29 +0200 |
commit | e874c2575c1203648e71426cd34f747cbd34b2b4 (patch) | |
tree | e0d57fb36c4c77aeaca67f0f8b06d527fb82afbc /remote-processor/Message.h | |
parent | ef8d727ca0eb346af951d15d84ba6f2b9564adf5 (diff) | |
download | external_parameter-framework-e874c2575c1203648e71426cd34f747cbd34b2b4.zip external_parameter-framework-e874c2575c1203648e71426cd34f747cbd34b2b4.tar.gz external_parameter-framework-e874c2575c1203648e71426cd34f747cbd34b2b4.tar.bz2 |
remote-proccessor detect partial message reception
BZ: 190038
Client disconnection during message reception is normal if no part of the
message as been receive yet.
Client disconnection in the middle of a packet reception is not normal
but was not differentiated from the behaviour described above.
Do not consider client disconnection on first read as an error.
Consider it as an error on the followings.
Change-Id: I34b50ba0af800f9e1fcdb51996b1b2f02a23cb3f
Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com>
Signed-off-by: Mattijs Korpershoek <mattijsx.korpershoek@intel.com>
Diffstat (limited to 'remote-processor/Message.h')
-rw-r--r-- | remote-processor/Message.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/remote-processor/Message.h b/remote-processor/Message.h index 4f22977..feafc83 100644 --- a/remote-processor/Message.h +++ b/remote-processor/Message.h @@ -43,6 +43,12 @@ public: CMessage(); virtual ~CMessage(); + enum Result { + success, + peerDisconnected, + error + }; + /** Write or read the message on pSocket. * * @param[in,out] pSocket is the socket on wich IO operation will be made. @@ -51,9 +57,11 @@ public: * @param[out] strError on failure, a string explaining the error, * on success, undefined. * - * @return true on success, false on failure. + * @return success if a correct message could be recv/send + * peerDisconnected if the peer disconnected before the first socket access. + * error if the message could not be read/write for any other reason */ - bool serialize(CSocket* pSocket, bool bOut, std::string &strError); + Result serialize(CSocket* pSocket, bool bOut, std::string &strError); protected: // Msg Id |