int main(int argc, const char *argv[]) { fd_set allreads; fd_set readmask; int socket = 0; int rc = 0; RingBuffer *in_rb = RingBuffer_create(1024 * 10); RingBuffer *sock_rb = RingBuffer_create(1024 * 10); check(argc == 3, "USAGE: netclient HOST PORT"); socket = client_connect(argv[1], argv[2]); check(socket >= 0, "Connect to %s:%s failed.", argv[1], argv[2]); FD_ZERO(&allreads); FD_SET(socket, &allreads); FD_SET(0, &allreads); while(1) { readmask = allreads; rc = select(socket + 1, &readmask, NULL, NULL, NULL); check(rc >= 0, "Select failed"); if(FD_ISSET(0, &readmask)) { rc = read_some(in_rb, 0, 0); check_debug(rc != -1, "failed to read from stdin."); } if(FD_ISSET(socket, &readmask)) { rc = read_some(sock_rb, socket, 0); check_debug(rc != -1, "failed to read from socket."); } while(!RingBuffer_empty(sock_rb)) { rc = write_some(sock_rb, 1, 0); check_debug(rc != -1, "failed to write to stdout."); } while(!RingBuffer_empty(in_rb)) { rc = write_some(in_rb, socket, 1); check_debug(rc != -1, "failed to write to socket."); } } RingBuffer_destroy(in_rb); RingBuffer_destroy(sock_rb); return 0; error: return -1; }
char *test_create() { buffer = RingBuffer_create(TEST_LENGTH); mu_assert(buffer != NULL, "Failed to create buffer."); return NULL; }
struct fd_state * alloc_fd_state(struct event_base *base, evutil_socket_t fd) { struct fd_state *state = malloc(sizeof(struct fd_state)); if (!state) return NULL; state->read_event = event_new(base, fd, EV_READ|EV_PERSIST, do_read, state); if (!state->read_event) { free(state); return NULL; } state->write_event = event_new(base, fd, EV_WRITE|EV_PERSIST, do_write, state); if (!state->write_event) { event_free(state->read_event); free(state); return NULL; } state->rtmp = rtmp_create(); state->buffer = RingBuffer_create(BUFFER_SIZE); state->outputs = List_create(); assert(state->write_event); return state; }
int main(int argc, char const *argv[]) { RingBuffer *rb = RingBuffer_create(100); RingBuffer_puts(rb, "Gerg"); RingBuffer_puts(rb, "Delicious"); char* res = RingBuffer_gets(rb, 10); printf("res = %s\n", res); return 0; }
char *test_create() { setup_bstrings(); buffer = RingBuffer_create(RINGBUFFER_SIZE); mu_assert(buffer != NULL, "Failed to create buffer."); mu_assert(buffer->length == RINGBUFFER_SIZE + 1, "Got wrong buffer size."); mu_assert(buffer->buffer != NULL, "Failed to create a buffer for the buffer"); return NULL; }
char *test_create() { rbuf = RingBuffer_create(64); mu_assert(rbuf != NULL, "Failed to create RingBuffer"); mu_assert(RingBuffer_empty(rbuf) == 1, "RingBuffer not empty"); mu_assert(rbuf->start == 0, "RingBuffer start is not 0"); mu_assert(rbuf->end == 0, "RingBuffer end is not 0"); mu_assert(RingBuffer_available_space(rbuf) == 64, "RingBuffer space not correct"); return NULL; }