TSP: The Transport Sample Protocol



Encoding Library
[TSP Common Library]

Collaboration diagram for Encoding Library:Before sending TSP sample value on the TSP data channel the data should be encoding in order to handle machine heterogeneity or different endianess. More...

Typedefs

typedef uint32_t(*) TSP_data_encoder_t (void *datavalue2encode, uint32_t dimension, char *out_buf, uint32_t out_buf_size)
 Encoder function type.

Functions

uint32_t TSP_data_channel_char_encoder (void *v_char, uint32_t dimension, char *out_buf, uint32_t out_buf_size)
 char value type encoder
uint32_t TSP_data_channel_double_encoder (void *v_double, uint32_t dimension, char *out_buf, uint32_t out_buf_size)
 double value type encoder
uint32_t TSP_data_channel_float_encoder (void *v_float, uint32_t dimension, char *out_buf, uint32_t out_buf_size)
 float value type encoder
_EXPORT_TSP_COMMON TSP_data_encoder_t TSP_data_channel_get_encoder (TSP_datatype_t type)
 Returns the function used to encode the data type.
_EXPORT_TSP_COMMON const char * TSP_data_channel_get_encoder_method ()
 Returns the encoder/decoder method used by TSP Library.
uint32_t TSP_data_channel_int16_encoder (void *v_int16, uint32_t dimension, char *out_buf, uint32_t out_buf_size)
 int16 value type encoder
uint32_t TSP_data_channel_int32_encoder (void *v_int32, uint32_t dimension, char *out_buf, uint32_t out_buf_size)
 int32 value type encoder
uint32_t TSP_data_channel_int64_encoder (void *v_int64, uint32_t dimension, char *out_buf, uint32_t out_buf_size)
 int64 value type encoder
uint32_t TSP_data_channel_int8_encoder (void *v_int8, uint32_t dimension, char *out_buf, uint32_t out_buf_size)
 int8 value type encoder
uint32_t TSP_data_channel_uchar_encoder (void *v_uchar, uint32_t dimension, char *out_buf, uint32_t out_buf_size)
 uchar value type encoder
uint32_t TSP_data_channel_uint16_encoder (void *v_uint16, uint32_t dimension, char *out_buf, uint32_t out_buf_size)
 uint16 value type encoder
uint32_t TSP_data_channel_uint32_encoder (void *v_uint32, uint32_t dimension, char *out_buf, uint32_t out_buf_size)
 uint32 value type encoder
uint32_t TSP_data_channel_uint64_encoder (void *v_uint64, uint32_t dimension, char *out_buf, uint32_t out_buf_size)
 uint64 value type encoder
uint32_t TSP_data_channel_uint8_encoder (void *v_uint8, uint32_t dimension, char *out_buf, uint32_t out_buf_size)
 uint8 value type encoder
uint32_t TSP_data_channel_user_encoder (void *v_user, uint32_t dimension, char *out_buf, uint32_t out_buf_size)
 user value type encoder


Detailed Description

Before sending TSP sample value on the TSP data channel the data should be encoding in order to handle machine heterogeneity or different endianess.

The encoding library contains function used to encode the different type of data handled by TSP. The idea behind the TSP encoding API is to be able to use different encoding scheme. Current encoding implements XDR encoding but we may switch or support alternative encoding like CDR.


Typedef Documentation

typedef uint32_t(*) TSP_data_encoder_t(void *datavalue2encode, uint32_t dimension, char *out_buf, uint32_t out_buf_size)

Encoder function type.

As you will see the encoder function pointer is generic and though does not have any 'datatype' parameter. This done on purpose. This is the encoder itself which will assume tha datatype of the pointed value datavalue2encode.

Parameters:
[in] datavalue2encode pointer to the beginning of data to encode. If NULL then encoder will not encode anything but returns the number of byte(s) that WOULD have been used if there were data to encode.
[in] dimension of the data, that the number of data item to encode beginning at datavalue2encode.
[out] out_buf buffer to write the data
[in] out_buf_size size of the buffer
Returns:
number of byte(s) used to encode the data, 0 means encoder failed.


Function Documentation

uint32_t TSP_data_channel_char_encoder ( void *  v_char,
uint32_t  dimension,
char *  out_buf,
uint32_t  out_buf_size 
)

char value type encoder

See also:
TSP_data_encoder_t.
Parameters:
[in] v_char data to encode.
[in] dimension of the data
[out] out_buf buffer to write the data
[in] out_buf_size size of the buffer
Returns:
number of byte(s) used to encode the data, 0 means encoder failed.

uint32_t TSP_data_channel_double_encoder ( void *  v_double,
uint32_t  dimension,
char *  out_buf,
uint32_t  out_buf_size 
)

double value type encoder

See also:
TSP_data_encoder_t.
Parameters:
[in] v_double data to encode.
[in] dimension of the data
[out] out_buf buffer to write the data
[in] out_buf_size size of the buffer
Returns:
number of byte(s) used to encode the data, 0 means encoder failed.

uint32_t TSP_data_channel_float_encoder ( void *  v_float,
uint32_t  dimension,
char *  out_buf,
uint32_t  out_buf_size 
)

float value type encoder

See also:
TSP_data_encoder_t.
Parameters:
[in] v_float data to encode.
[in] dimension of the data
[out] out_buf buffer to write the data
[in] out_buf_size size of the buffer
Returns:
number of byte(s) used to encode the data, 0 means encoder failed.

_EXPORT_TSP_COMMON TSP_data_encoder_t TSP_data_channel_get_encoder ( TSP_datatype_t  type  ) 

Returns the function used to encode the data type.

This value is stored in the group table to encode the data as fast as possible.

Parameters:
[in] type data type to encode.
Returns:
The data type encoder function

_EXPORT_TSP_COMMON const char* TSP_data_channel_get_encoder_method (  ) 

Returns the encoder/decoder method used by TSP Library.

TSP may be compiled either with

uint32_t TSP_data_channel_int16_encoder ( void *  v_int16,
uint32_t  dimension,
char *  out_buf,
uint32_t  out_buf_size 
)

int16 value type encoder

See also:
TSP_data_encoder_t.
Parameters:
[in] v_int16 data to encode.
[in] dimension of the data
[out] out_buf buffer to write the data
[in] out_buf_size size of the buffer
Returns:
number of byte(s) used to encode the data, 0 means encoder failed.

uint32_t TSP_data_channel_int32_encoder ( void *  v_int32,
uint32_t  dimension,
char *  out_buf,
uint32_t  out_buf_size 
)

int32 value type encoder

See also:
TSP_data_encoder_t.
Parameters:
[in] v_int32 data to encode.
[in] dimension of the data
[out] out_buf buffer to write the data
[in] out_buf_size size of the buffer
Returns:
number of byte(s) used to encode the data, 0 means encoder failed.

uint32_t TSP_data_channel_int64_encoder ( void *  v_int64,
uint32_t  dimension,
char *  out_buf,
uint32_t  out_buf_size 
)

int64 value type encoder

See also:
TSP_data_encoder_t.
Parameters:
[in] v_int64 data to encode.
[in] dimension of the data
[out] out_buf buffer to write the data
[in] out_buf_size size of the buffer
Returns:
number of byte(s) used to encode the data, 0 means encoder failed.

uint32_t TSP_data_channel_int8_encoder ( void *  v_int8,
uint32_t  dimension,
char *  out_buf,
uint32_t  out_buf_size 
)

int8 value type encoder

See also:
TSP_data_encoder_t.
Parameters:
[in] v_int8 data to encode.
[in] dimension of the data
[out] out_buf buffer to write the data
[in] out_buf_size size of the buffer
Returns:
number of byte(s) used to encode the data, 0 means encoder failed.

uint32_t TSP_data_channel_uchar_encoder ( void *  v_uchar,
uint32_t  dimension,
char *  out_buf,
uint32_t  out_buf_size 
)

uchar value type encoder

See also:
TSP_data_encoder_t.
Parameters:
[in] v_uchar data to encode.
[in] dimension of the data
[out] out_buf buffer to write the data
[in] out_buf_size size of the buffer
Returns:
number of byte(s) used to encode the data, 0 means encoder failed.

uint32_t TSP_data_channel_uint16_encoder ( void *  v_uint16,
uint32_t  dimension,
char *  out_buf,
uint32_t  out_buf_size 
)

uint16 value type encoder

See also:
TSP_data_encoder_t.
Parameters:
[in] v_uint16 data to encode.
[in] dimension of the data
[out] out_buf buffer to write the data
[in] out_buf_size size of the buffer
Returns:
number of byte(s) used to encode the data, 0 means encoder failed.

uint32_t TSP_data_channel_uint32_encoder ( void *  v_uint32,
uint32_t  dimension,
char *  out_buf,
uint32_t  out_buf_size 
)

uint32 value type encoder

See also:
TSP_data_encoder_t.
Parameters:
[in] v_uint32 data to encode.
[in] dimension of the data
[out] out_buf buffer to write the data
[in] out_buf_size size of the buffer
Returns:
number of byte(s) used to encode the data, 0 means encoder failed.

uint32_t TSP_data_channel_uint64_encoder ( void *  v_uint64,
uint32_t  dimension,
char *  out_buf,
uint32_t  out_buf_size 
)

uint64 value type encoder

See also:
TSP_data_encoder_t.
Parameters:
[in] v_uint64 data to encode.
[in] dimension of the data
[out] out_buf buffer to write the data
[in] out_buf_size size of the buffer
Returns:
number of byte(s) used to encode the data, 0 means encoder failed.

uint32_t TSP_data_channel_uint8_encoder ( void *  v_uint8,
uint32_t  dimension,
char *  out_buf,
uint32_t  out_buf_size 
)

uint8 value type encoder

See also:
TSP_data_encoder_t.
Parameters:
[in] v_uint8 data to encode.
[in] dimension of the data
[out] out_buf buffer to write the data
[in] out_buf_size size of the buffer
Returns:
number of byte(s) used to encode the data, 0 means encoder failed.

uint32_t TSP_data_channel_user_encoder ( void *  v_user,
uint32_t  dimension,
char *  out_buf,
uint32_t  out_buf_size 
)

user value type encoder

See also:
TSP_data_encoder_t.
Parameters:
[in] v_user data to encode.
[in] dimension of the data
[out] out_buf buffer to write the data
[in] out_buf_size size of the buffer
Returns:
number of byte(s) used to encode the data, 0 means encoder failed.

Framework Home Page.


Beware !! TSP wave is coming...