|
|
| version 1.1.2.11, 2012/01/05 10:01:20 | version 1.2.2.1, 2012/01/30 22:58:24 |
|---|---|
| Line 1 | Line 1 |
| #include "global.h" | #include "global.h" |
| #include "mqtt.h" | #include "mqtt.h" |
| #include "client.h" | |
| int | int |
| Line 99 KAClient(int sock) | Line 100 KAClient(int sock) |
| printf("Error:: msgPINGREQ #%d - %s\n", mqtt_GetErrno(), mqtt_GetError()); | printf("Error:: msgPINGREQ #%d - %s\n", mqtt_GetErrno(), mqtt_GetError()); |
| return -1; | return -1; |
| } | } |
| if (SendTo(sock, siz) == -1) | |
| siz = send(sock, args->msg->msg_base, siz, 0); | |
| if (siz == -1) { | |
| printf("Error:: send() #%d - %s\n", errno, strerror(errno)); | |
| return -1; | return -1; |
| } else | |
| ioVERBOSE(3) printf("Sended PINGREQ %d bytes\n", siz); | |
| pfd.fd = sock; | pfd.fd = sock; |
| pfd.events = POLLIN | POLLPRI; | pfd.events = POLLIN | POLLPRI; |
| Line 127 KAClient(int sock) | Line 123 KAClient(int sock) |
| } else | } else |
| ioVERBOSE(3) printf("Received %d bytes\n", siz); | ioVERBOSE(3) printf("Received %d bytes\n", siz); |
| return (u_char) mqtt_readPINGRESP(args->msg); | return mqtt_readPINGRESP(args->msg); |
| } | } |
| void * | void * |
| Line 163 CloseFile(void) | Line 159 CloseFile(void) |
| munmap(AIT_GET_PTR(&args->Value), AIT_LEN(&args->Value)); | munmap(AIT_GET_PTR(&args->Value), AIT_LEN(&args->Value)); |
| AIT_FREE_VAL(&args->Value); | AIT_FREE_VAL(&args->Value); |
| } | } |
| } | |
| inline int | |
| SendTo(int sock, int siz) | |
| { | |
| siz = send(sock, args->msg->msg_base, siz, 0); | |
| if (siz == -1) { | |
| printf("Error:: send() #%d - %s\n", errno, strerror(errno)); | |
| return -1; | |
| } else | |
| ioVERBOSE(3) printf("Sended %d bytes\n", siz); | |
| return siz; | |
| } | |
| inline int | |
| RecvFrom(int sock) | |
| { | |
| struct pollfd pfd; | |
| int siz = 0; | |
| pfd.fd = sock; | |
| pfd.events = POLLIN | POLLPRI; | |
| do { | |
| switch (poll(&pfd, 1, args->ka * 1000)) { | |
| case -1: | |
| printf("Error:: poll() #%d - %s\n", errno, strerror(errno)); | |
| return -1; | |
| case 0: | |
| ioVERBOSE(3) printf("Timeout reached (%d) ...\n", args->ka * 1000); | |
| if (KAClient(sock) == -1) | |
| return -1; | |
| continue; | |
| } | |
| if (pfd.revents & (POLLERR | POLLHUP | POLLNVAL)) | |
| return -1; | |
| } while (0); | |
| siz = recv(sock, args->msg->msg_base, args->msg->msg_len, 0); | |
| if (siz == -1) { | |
| printf("Error:: recv() #%d - %s\n", errno, strerror(errno)); | |
| return -1; | |
| } else | |
| ioVERBOSE(3) printf("Received %d bytes\n", siz); | |
| return siz; | |
| } | } |