| 121 | } |
| 122 | |
| 123 | ssize_t |
| 124 | SocketDataWriter::write(const void *data, size_t len) |
| 125 | { |
| 126 | ssize_t sent; |
| 127 | |
| 128 | if (len > this->size) |
| 129 | len = this->size; |
| 130 | |
| 131 | sent = sendto( |
| 132 | this->fd, |
| 133 | reinterpret_cast<const char *>(data), |
| 134 | len, |
| 135 | MSG_NOSIGNAL, |
| 136 | reinterpret_cast<struct sockaddr *>(&this->addr), |
| 137 | sizeof(struct sockaddr_in)); |
| 138 | |
| 139 | if (sent < 1) |
| 140 | this->lastError = std::string(strerror(errno)); |
| 141 | |
| 142 | return sent; |
| 143 | } |
| 144 | |
| 145 | bool |
| 146 | SocketDataWriter::close(void) |