DDVSocket edits
This commit is contained in:
parent
5ca0886b6d
commit
7ef4d086ff
2 changed files with 11 additions and 3 deletions
|
@ -105,8 +105,10 @@ int main(int argc, char ** argv){
|
|||
//rightnow = getNowMS();
|
||||
retval = epoll_wait(poller, events, 1, 0);
|
||||
if (!ready4data || (snd_cnt - snd_window_at >= snd_window_size)){
|
||||
if (DDV_ready(CONN_fd)){
|
||||
parseChunk();
|
||||
}
|
||||
}
|
||||
if (ready4data){
|
||||
if (!inited){
|
||||
//we are ready, connect the socket!
|
||||
|
|
|
@ -73,7 +73,7 @@ bool DDV_write(void * buffer, int todo, int sock){
|
|||
int r = send(sock, (char*)buffer + sofar, todo-sofar, 0);
|
||||
if (r <= 0){
|
||||
switch (errno){
|
||||
case EWOULDBLOCK: socketBlocking = true; return false; break;
|
||||
case EWOULDBLOCK: socketBlocking = true; break;
|
||||
default:
|
||||
socketError = true;
|
||||
printf("Could not write! %s\n", strerror(errno));
|
||||
|
@ -86,6 +86,12 @@ bool DDV_write(void * buffer, int todo, int sock){
|
|||
return true;
|
||||
}
|
||||
|
||||
bool DDV_ready(int sock){
|
||||
char tmp;
|
||||
int r = recv(sock, &tmp, 1, MSG_PEEK);
|
||||
return (r == 1);
|
||||
}
|
||||
|
||||
bool DDV_read(void * buffer, int todo, int sock){
|
||||
int sofar = 0;
|
||||
socketBlocking = false;
|
||||
|
@ -93,7 +99,7 @@ bool DDV_read(void * buffer, int todo, int sock){
|
|||
int r = recv(sock, (char*)buffer + sofar, todo-sofar, 0);
|
||||
if (r <= 0){
|
||||
switch (errno){
|
||||
case EWOULDBLOCK: socketBlocking = true; return false; break;
|
||||
case EWOULDBLOCK: socketBlocking = true; break;
|
||||
default:
|
||||
socketError = true;
|
||||
printf("Could not read! %s\n", strerror(errno));
|
||||
|
|
Loading…
Add table
Reference in a new issue