Mercurial > hg > nnchat
comparison libnnchat.c @ 393:318a71f4f57f
Rename some internal variables and add new buffer pointer one.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Thu, 24 May 2012 04:33:21 +0300 |
parents | acea18a741e3 |
children | cabf2233ea39 |
comparison
equal
deleted
inserted
replaced
392:a21cc444d800 | 393:318a71f4f57f |
---|---|
356 | 356 |
357 void nn_conn_reset(nn_conn_t *conn) | 357 void nn_conn_reset(nn_conn_t *conn) |
358 { | 358 { |
359 if (conn != NULL) | 359 if (conn != NULL) |
360 { | 360 { |
361 conn->ptr = conn->buf; | 361 conn->got_ptr = conn->buf; |
362 conn->got = conn->total = 0; | 362 conn->got_bytes = conn->total_bytes = 0; |
363 } | 363 } |
364 } | 364 } |
365 | |
365 | 366 |
366 int nn_conn_pull(nn_conn_t *conn) | 367 int nn_conn_pull(nn_conn_t *conn) |
367 { | 368 { |
368 int result; | 369 int result; |
369 struct timeval socktv; | 370 struct timeval socktv; |
387 return -1; | 388 return -1; |
388 } | 389 } |
389 } | 390 } |
390 else if (FD_ISSET(conn->socket, &tmpfds)) | 391 else if (FD_ISSET(conn->socket, &tmpfds)) |
391 { | 392 { |
392 conn->got = recv(conn->socket, conn->ptr, NN_CONNBUF_SIZE - conn->total, 0); | 393 conn->got_bytes = recv(conn->socket, conn->got_ptr, NN_CONNBUF_SIZE - conn->total_bytes, 0); |
393 if (conn->got < 0) | 394 if (conn->got_bytes < 0) |
394 { | 395 { |
395 conn->err = nn_get_socket_errno(); | 396 conn->err = nn_get_socket_errno(); |
396 nn_conn_err(conn, "Error in recv: %d, %s\n", conn->err, nn_get_socket_errstr(conn->err)); | 397 nn_conn_err(conn, "Error in recv: %d, %s\n", conn->err, nn_get_socket_errstr(conn->err)); |
397 return -2; | 398 return -2; |
398 } | 399 } |
399 else if (conn->got == 0) | 400 else if (conn->got_bytes == 0) |
400 { | 401 { |
401 nn_conn_err(conn, "Server closed connection.\n"); | 402 nn_conn_err(conn, "Server closed connection.\n"); |
402 conn->status = NN_CONN_CLOSED; | 403 conn->status = NN_CONN_CLOSED; |
403 return -3; | 404 return -3; |
404 } | 405 } |
405 else | 406 else |
406 { | 407 { |
407 /* Handle protocol data */ | 408 conn->total_bytes += conn->got_bytes; |
408 conn->total += conn->got; | 409 conn->got_ptr += conn->got_bytes; |
409 conn->ptr += conn->got; | |
410 return 0; | 410 return 0; |
411 } | 411 } |
412 } | 412 } |
413 | 413 |
414 return 1; | 414 return 1; |
415 } | 415 } |
416 | |
416 | 417 |
417 BOOL nn_conn_check(nn_conn_t *conn) | 418 BOOL nn_conn_check(nn_conn_t *conn) |
418 { | 419 { |
419 if (conn == NULL) | 420 if (conn == NULL) |
420 return FALSE; | 421 return FALSE; |
421 | 422 |
422 return conn->err == 0 && conn->status == NN_CONN_OPEN; | 423 return conn->err == 0 && conn->status == NN_CONN_OPEN; |
423 } | 424 } |
424 | |
425 | 425 |
426 | 426 |
427 BOOL nn_network_init(void) | 427 BOOL nn_network_init(void) |
428 { | 428 { |
429 #ifdef __WIN32 | 429 #ifdef __WIN32 |