axis2_status_t AXIS2_CALL tcpmon_entry_free()

in tools/tcpmon/src/entry.c [61:177]


axis2_status_t AXIS2_CALL tcpmon_entry_free(
    tcpmon_entry_t * entry,
    const axutil_env_t * env);

axis2_char_t *AXIS2_CALL tcpmon_entry_arrived_time(
    tcpmon_entry_t * entry,
    const axutil_env_t * env);

axis2_char_t *AXIS2_CALL tcpmon_entry_sent_time(
    tcpmon_entry_t * entry,
    const axutil_env_t * env);

axis2_char_t *AXIS2_CALL tcpmon_entry_time_diff(
    tcpmon_entry_t * entry,
    const axutil_env_t * env);

axis2_char_t *AXIS2_CALL tcpmon_entry_sent_data(
    tcpmon_entry_t * entry,
    const axutil_env_t * env);

axis2_char_t *AXIS2_CALL tcpmon_entry_sent_headers(
    tcpmon_entry_t * entry,
    const axutil_env_t * env);

axis2_char_t *AXIS2_CALL tcpmon_entry_arrived_data(
    tcpmon_entry_t * entry,
    const axutil_env_t * env);

axis2_char_t *AXIS2_CALL tcpmon_entry_arrived_headers(
    tcpmon_entry_t * entry,
    const axutil_env_t * env);

axis2_bool_t AXIS2_CALL tcpmon_entry_is_success(
    tcpmon_entry_t * entry,
    const axutil_env_t * env);

axis2_char_t *get_current_stream_to_buffer(
    const axutil_env_t * env,
    axutil_stream_t * stream,
    int *stream_size);


int AXIS2_CALL tcpmon_entry_get_format_bit(
    tcpmon_entry_t * entry,
    const axutil_env_t * env);

int AXIS2_CALL tcpmon_entry_get_sent_data_length(
    tcpmon_entry_t * entry,
    const axutil_env_t * env);

int AXIS2_CALL tcpmon_entry_get_arrived_data_length(
    tcpmon_entry_t * entry,
    const axutil_env_t * env);

axis2_status_t AXIS2_CALL tcpmon_entry_set_format_bit(
    tcpmon_entry_t * entry,
    const axutil_env_t * env,
    int format_bit);

/************************** End of function prototypes ************************/

tcpmon_entry_t *AXIS2_CALL
tcpmon_entry_create(
    const axutil_env_t * env)
{
    tcpmon_entry_impl_t *entry_impl = NULL;

    AXIS2_ENV_CHECK(env, NULL);

    entry_impl = (tcpmon_entry_impl_t *) AXIS2_MALLOC(env->
                                                      allocator,
                                                      sizeof
                                                      (tcpmon_entry_impl_t));

    if (!entry_impl)
    {
        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
        return NULL;
    }

    entry_impl->arrived_time = AXIS2_MALLOC(env->allocator, 32);
    entry_impl->sent_time = AXIS2_MALLOC(env->allocator, 32);
    entry_impl->time_diff = AXIS2_MALLOC(env->allocator, 32);
    entry_impl->arrived_data = NULL;
    entry_impl->sent_data = NULL;
    entry_impl->arrived_headers = NULL;
    entry_impl->sent_headers = NULL;
    entry_impl->is_success = AXIS2_FALSE;
    entry_impl->format_bit = 0;
    entry_impl->sent_data_length = 0;
    entry_impl->arrived_data_length = 0;

    entry_impl->entry.ops =
        AXIS2_MALLOC(env->allocator, sizeof(tcpmon_entry_ops_t));
    if (!entry_impl->entry.ops)
    {
        tcpmon_entry_free(&(entry_impl->entry), env);
        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
        return NULL;
    }

    entry_impl->entry.ops->free = tcpmon_entry_free;
    entry_impl->entry.ops->arrived_time = tcpmon_entry_arrived_time;
    entry_impl->entry.ops->sent_time = tcpmon_entry_sent_time;
    entry_impl->entry.ops->time_diff = tcpmon_entry_time_diff;
    entry_impl->entry.ops->sent_data = tcpmon_entry_sent_data;
    entry_impl->entry.ops->sent_headers = tcpmon_entry_sent_headers;
    entry_impl->entry.ops->arrived_data = tcpmon_entry_arrived_data;
    entry_impl->entry.ops->arrived_headers = tcpmon_entry_arrived_headers;
    entry_impl->entry.ops->is_success = tcpmon_entry_is_success;
    entry_impl->entry.ops->set_format_bit = tcpmon_entry_set_format_bit;
    entry_impl->entry.ops->get_format_bit = tcpmon_entry_get_format_bit;
    entry_impl->entry.ops->get_sent_data_length = tcpmon_entry_get_sent_data_length;
    entry_impl->entry.ops->get_arrived_data_length = tcpmon_entry_get_arrived_data_length;

    return &(entry_impl->entry);
}