-gras_error_t
-gras_trp_file_chunk_recv(gras_socket_t *sock,
- char *data,
- size_t size) {
-
- /* TCP sockets are in duplex mode, don't check direction */
- gras_assert0(sock, "Cannot recv on an NULL socket");
- gras_assert0(size >= 0, "Cannot receive a negative amount of data");
-
+int
+gras_trp_file_chunk_recv(gras_socket_t sock,
+ char *data,
+ unsigned long int size) {
+
+ int got = 0;
+
+ xbt_assert0(sock, "Cannot recv on an NULL socket");
+ xbt_assert0(sock->incoming, "Cannot recv on client file socket");
+ xbt_assert0(size >= 0, "Cannot receive a negative amount of data");
+
+ if (sock->recvd) {
+ data[0] = sock->recvd_val;
+ sock->recvd = 0;
+ got++;
+ size--;
+ }
+