Exemple #1
0
ssize_t DpsSearchdSendPacket(int fd,const DPS_SEARCHD_PACKET_HEADER *hdr,const void *data){
	ssize_t nsent = 0;

	if (data == NULL) {
	  nsent = DpsSend(fd, hdr, sizeof(*hdr), 0);
	} else {
	  char *ldata = (char*)DpsMalloc(sizeof(*hdr) + hdr->len);
	  if (ldata != NULL) {
	    dps_memcpy(ldata, hdr, sizeof(*hdr));
	    dps_memcpy(ldata + sizeof(*hdr), data, hdr->len);
	  
	    nsent = DpsSend(fd, ldata, sizeof(*hdr) + hdr->len, 0);
	  }
	  DPS_FREE(ldata);
	}
	
	return nsent;
}
Exemple #2
0
int socket_write(DPS_CONN *connp, const char *buf){
	
	if (socket_select(connp, DPS_NET_READ_TIMEOUT, 'w') == -1)
		return -1;

	if (DpsSend(connp->conn_fd, buf, dps_strlen(buf), 0) == -1){
		connp->err = DPS_NET_ERROR;
		return -1;
	}
	return 0;
}