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();
|
//rightnow = getNowMS();
|
||||||
retval = epoll_wait(poller, events, 1, 0);
|
retval = epoll_wait(poller, events, 1, 0);
|
||||||
if (!ready4data || (snd_cnt - snd_window_at >= snd_window_size)){
|
if (!ready4data || (snd_cnt - snd_window_at >= snd_window_size)){
|
||||||
|
if (DDV_ready(CONN_fd)){
|
||||||
parseChunk();
|
parseChunk();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (ready4data){
|
if (ready4data){
|
||||||
if (!inited){
|
if (!inited){
|
||||||
//we are ready, connect the socket!
|
//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);
|
int r = send(sock, (char*)buffer + sofar, todo-sofar, 0);
|
||||||
if (r <= 0){
|
if (r <= 0){
|
||||||
switch (errno){
|
switch (errno){
|
||||||
case EWOULDBLOCK: socketBlocking = true; return false; break;
|
case EWOULDBLOCK: socketBlocking = true; break;
|
||||||
default:
|
default:
|
||||||
socketError = true;
|
socketError = true;
|
||||||
printf("Could not write! %s\n", strerror(errno));
|
printf("Could not write! %s\n", strerror(errno));
|
||||||
|
@ -86,6 +86,12 @@ bool DDV_write(void * buffer, int todo, int sock){
|
||||||
return true;
|
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){
|
bool DDV_read(void * buffer, int todo, int sock){
|
||||||
int sofar = 0;
|
int sofar = 0;
|
||||||
socketBlocking = false;
|
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);
|
int r = recv(sock, (char*)buffer + sofar, todo-sofar, 0);
|
||||||
if (r <= 0){
|
if (r <= 0){
|
||||||
switch (errno){
|
switch (errno){
|
||||||
case EWOULDBLOCK: socketBlocking = true; return false; break;
|
case EWOULDBLOCK: socketBlocking = true; break;
|
||||||
default:
|
default:
|
||||||
socketError = true;
|
socketError = true;
|
||||||
printf("Could not read! %s\n", strerror(errno));
|
printf("Could not read! %s\n", strerror(errno));
|
||||||
|
|
Loading…
Add table
Reference in a new issue