Esempio n. 1
0
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;
}
Esempio n. 3
0
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;
}
Esempio n. 4
0
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;
}
Esempio n. 5
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;
}