#include <iostream>
#include <set>
+#include <cstring>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
/* writes packet */
bool TCPComm::writePacket(int pFD, SFPacket &pPacket)
{
- char len = pPacket.getLength();
+ int len = pPacket.getTcpLength();
int err;
- if (writeFD(pFD, &len, 1, &err) != 1)
- {
- return false;
- }
- if (writeFD(pFD, pPacket.getPayload(), len, &err) != len)
- {
- return false;
- }
- return true;
+ return (writeFD(pFD, pPacket.getTcpPayload(), len, &err) == len);
}
/* checks for correct version of SF protocol */
void TCPComm::stuffPipe()
{
char info = 'n';
- write(pipeWriteFD, &info, 1);
+ if(write(pipeWriteFD, &info, 1) != 1) DEBUG("TCPComm::stuffPipe : lokal pipe is broken");
}
void TCPComm::clearPipe() {