-bool
-connection::readpdu()
-{
- if (!rpdu_.sz) {
- uint32_t sz1;
- ssize_t n = read(fd_, &sz1, sizeof(sz1));
-
- if (n == 0) {
- return false;
- }
-
- if (n < 0) {
- VERIFY(errno!=EAGAIN);
- return false;
- }
-
- if (n > 0 && n != sizeof(sz1)) {
- jsl_log(JSL_DBG_OFF, "connection::readpdu short read of sz\n");
- return false;
- }
-
- size_t sz = ntohl(sz1);
-
- if (sz > MAX_PDU) {
- char *tmpb = (char *)&sz1;
- jsl_log(JSL_DBG_2, "connection::readpdu read pdu TOO BIG %lu network order=%x %x %x %x %x\n", sz,
- sz1, tmpb[0],tmpb[1],tmpb[2],tmpb[3]);
- return false;
- }
-
- rpdu_.sz = sz;
- VERIFY(rpdu_.buf == NULL);
- rpdu_.buf = (char *)malloc(sz+sizeof(sz1));
- VERIFY(rpdu_.buf);
- bcopy(&sz1,rpdu_.buf,sizeof(sz1));
- rpdu_.solong = sizeof(sz1);
- }
-
- ssize_t n = read(fd_, rpdu_.buf + rpdu_.solong, rpdu_.sz - rpdu_.solong);
- if (n <= 0) {
- if (errno == EAGAIN)
- return true;
- if (rpdu_.buf)
- free(rpdu_.buf);
- rpdu_.buf = NULL;
- rpdu_.sz = rpdu_.solong = 0;
- return (errno == EAGAIN);
- }
- rpdu_.solong += (size_t)n;
- return true;
+bool connection::readpdu() {
+ if (!rpdu_.sz) {
+ uint32_t sz1;
+ ssize_t n = read(fd_, &sz1, sizeof(sz1));
+
+ if (n == 0) {
+ return false;
+ }
+
+ if (n < 0) {
+ VERIFY(errno!=EAGAIN);
+ return false;
+ }
+
+ if (n > 0 && n != sizeof(sz1)) {
+ IF_LEVEL(0) LOG("connection::readpdu short read of sz");
+ return false;
+ }
+
+ size_t sz = ntohl(sz1);
+
+ if (sz > MAX_PDU) {
+ IF_LEVEL(2) LOG("connection::readpdu read pdu TOO BIG " << sz << " network order=" << hex << sz1);
+ return false;
+ }
+
+ rpdu_.sz = sz;
+ VERIFY(rpdu_.buf == NULL);
+ rpdu_.buf = (char *)malloc(sz+sizeof(sz1));
+ VERIFY(rpdu_.buf);
+ bcopy(&sz1,rpdu_.buf,sizeof(sz1));
+ rpdu_.solong = sizeof(sz1);
+ }
+
+ ssize_t n = read(fd_, rpdu_.buf + rpdu_.solong, rpdu_.sz - rpdu_.solong);
+ if (n <= 0) {
+ if (errno == EAGAIN)
+ return true;
+ if (rpdu_.buf)
+ free(rpdu_.buf);
+ rpdu_.buf = NULL;
+ rpdu_.sz = rpdu_.solong = 0;
+ return (errno == EAGAIN);
+ }
+ rpdu_.solong += (size_t)n;
+ return true;