Changeset ece0e80 for benchmark/io/http/worker.cfa
- Timestamp:
- Jan 9, 2021, 4:27:57 PM (3 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 561dd26
- Parents:
- 35fd2c4
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
benchmark/io/http/worker.cfa
r35fd2c4 rece0e80 28 28 CONNECTION: 29 29 for() { 30 int fd = cfa_accept4( this.[sockfd, addr, addrlen, flags], 0, -1`s, 0p, 0p ); 30 printf("=== Accepting connection ===\n"); 31 int fd = cfa_accept4( this.[sockfd, addr, addrlen, flags], 0, -1`s, &this.cancel, 0p ); 31 32 if(fd < 0) { 32 33 if( errno == ECONNABORTED ) break; 34 if( errno == EINVAL ) break; 33 35 abort( "accept error: (%d) %s\n", (int)errno, strerror(errno) ); 34 36 } 35 37 36 printf(" New connection %d, waiting for requests\n", fd);38 printf("=== New connection %d, waiting for requests ===\n", fd); 37 39 REQUEST: 38 40 for() { … … 45 47 size_t len = options.socket.buflen; 46 48 char buffer[len]; 47 printf(" Reading request\n");48 [code, closed, file, name_size] = http_read(fd, buffer, len );49 printf("=== Reading request ===\n"); 50 [code, closed, file, name_size] = http_read(fd, buffer, len, &this.cancel); 49 51 50 52 // if we are done, break out of the loop 51 53 if( closed ) { 52 printf(" Connection closed\n");54 printf("=== Connection closed ===\n"); 53 55 continue CONNECTION; 54 56 } … … 56 58 // If this wasn't a request retrun 400 57 59 if( code != OK200 ) { 58 printf(" Invalid Request : %d\n", code_val(code));60 printf("=== Invalid Request : %d ===\n", code_val(code)); 59 61 answer_error(fd, code); 60 62 continue REQUEST; 61 63 } 62 64 63 printf(" Request for file %.*s\n", (int)name_size, file);65 printf("=== Request for file %.*s ===\n", (int)name_size, file); 64 66 65 67 // Get the fd from the file cache … … 70 72 // If we can't find the file, return 404 71 73 if( ans_fd < 0 ) { 72 printf(" File Not Found\n");74 printf("=== File Not Found ===\n"); 73 75 answer_error(fd, E404); 74 76 continue REQUEST; … … 81 83 sendfile( this.pipe, fd, ans_fd, count); 82 84 83 printf(" File sent\n");85 printf("=== File sent ===\n"); 84 86 } 85 87 }
Note: See TracChangeset
for help on using the changeset viewer.