Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Nonstop Networking
- * CS 241 - Fall 2019
- */
- #include "common.h"
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <unistd.h>
- #include <errno.h>
- #include <arpa/inet.h>
- ssize_t read_all_from_socket(int socket, char *buffer, size_t count) {
- // Your Code Here
- size_t bytes_read = 0;
- size_t bytes_remain = count;
- while (bytes_read < count) {
- //puts("fdsklj");
- ssize_t ret = read(socket, buffer + bytes_read, bytes_remain);
- if (ret == 0) {
- return 0;
- } else if (ret == -1) {
- if (errno == EINTR) {
- errno = 0;
- continue;
- } else {
- //puts(strerror(errno));
- return -1;
- }
- }
- bytes_read += ret;
- bytes_remain -= ret;
- }
- return bytes_read;
- }
- ssize_t write_all_to_socket(int socket, const char *buffer, size_t count) {
- size_t bytes_written = 0;
- size_t bytes_remain = count;
- while (bytes_written < count) {
- //puts("dslk");
- ssize_t ret = write(socket, buffer + bytes_written, bytes_remain);
- if (ret == 0) {
- return 0;
- } else if (ret == -1) {
- if (errno == EINTR) {
- errno = 0;
- continue;
- } else {
- return -1;
- }
- }
- bytes_written += ret;
- bytes_remain -= ret;
- }
- // Your Code Here
- return bytes_written;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement