Beispiel #1
0
dr_cvt_result_t dr_cvt_fun_pbuf_encode(
    LPDRMETA meta,
    void * output, size_t * output_capacity,
    const void * input, size_t * input_capacity,
    void * ctx,
    error_monitor_t em, int debug)
{
    int r;

    r = dr_pbuf_write(output, *output_capacity, input, *input_capacity, meta, em);
    if (r < 0) {
        CPE_ERROR(
            em, "encode %s: pbuf: fail, input buf "FMT_SIZE_T", output buf "FMT_SIZE_T,
            dr_meta_name(meta), *input_capacity, *output_capacity);
        return dr_cvt_result_error;
    }

    *output_capacity = r;

    if (debug) {
        CPE_INFO(
            em, "encode %s: pbuf: ok, %d data to output, input-size="FMT_SIZE_T,
            dr_meta_name(meta), r, *input_capacity);
    }

    return dr_cvt_result_success;
}
Beispiel #2
0
int WriteTest::write(const char * typeName, const void * data, size_t data_size) {
    LPDRMETA meta = dr_lib_find_meta_by_name(m_metaLib, typeName);
    EXPECT_TRUE(meta) << "get meta " << typeName << " error!";

    t_elist_clear();

    int r = dr_pbuf_write(m_buffer, sizeof(m_buffer), data, data_size, meta, t_em());
    m_bufffer_len = r >= 0 ? (size_t)r : 0;
    return r;
}
Beispiel #3
0
int ReadTest::read(const char * decodeTypeName, const void * data, size_t data_size) {
    LPDRMETA meta = dr_lib_find_meta_by_name(m_metaLib, decodeTypeName);
    EXPECT_TRUE(meta) << "get meta " << decodeTypeName << " error!";

    t_elist_clear();

    char buf[1024];
    int len = dr_pbuf_write(buf, sizeof(buf), data, data_size, meta, t_em());
    EXPECT_GT(len, 0);

    int r = dr_pbuf_read(m_result_buffer, sizeof(m_result_buffer), buf, len, meta, t_em());
    m_result_bufffer_len = r;
    m_result_meta = meta;
    return r;
}