OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
thrift_protocol.h File Reference

Abstract class for Thrift protocol implementations. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _ThriftProtocol
 

Typedefs

typedef struct _ThriftProtocol ThriftProtocol
 

Enumerations

enum  ThriftType {
  T_STOP = 0, T_VOID = 1, T_BOOL = 2, T_BYTE = 3,
  T_I08 = 3, T_I16 = 6, T_I32 = 8, T_U64 = 9,
  T_I64 = 10, T_DOUBLE = 4, T_STRING = 11, T_UTF7 = 11,
  T_STRUCT = 12, T_MAP = 13, T_SET = 14, T_LIST = 15,
  T_UTF8 = 16, T_UTF16 = 17, T_U16 = 19, T_U32 = 20,
  T_XML = 21, T_IPV4 = 22, T_UUID = 23, T_IPADDR = 24
}
 
enum  ThriftMessageType { T_CALL = 1, T_REPLY = 2, T_EXCEPTION = 3, T_ONEWAY = 4 }
 
enum  ThriftProtocolType { T_PROTOCOL_BINARY = 1, T_PROTOCOL_XML = 2 }
 
enum  ThriftProtocolError {
  THRIFT_PROTOCOL_ERROR_UNKNOWN, THRIFT_PROTOCOL_ERROR_INVALID_DATA, THRIFT_PROTOCOL_ERROR_NEGATIVE_SIZE, THRIFT_PROTOCOL_ERROR_SIZE_LIMIT,
  THRIFT_PROTOCOL_ERROR_BAD_VERSION, THRIFT_PROTOCOL_ERROR_NOT_IMPLEMENTED
}
 

Functions

static ThriftProtocolType thrift_protocol_get_type (ThriftProtocol *protocol)
 
static int32_t thrift_protocol_write_sandesh_begin (ThriftProtocol *protocol, const char *name, int *error)
 
static int32_t thrift_protocol_write_sandesh_end (ThriftProtocol *protocol, int *error)
 
static int32_t thrift_protocol_write_struct_begin (ThriftProtocol *protocol, const char *name, int *error)
 
static int32_t thrift_protocol_write_struct_end (ThriftProtocol *protocol, int *error)
 
static int32_t thrift_protocol_write_field_begin (ThriftProtocol *protocol, const char *name, const ThriftType field_type, const int16_t field_id, int *error)
 
static int32_t thrift_protocol_write_field_end (ThriftProtocol *protocol, int *error)
 
static int32_t thrift_protocol_write_field_stop (ThriftProtocol *protocol, int *error)
 
static int32_t thrift_protocol_write_list_begin (ThriftProtocol *protocol, const ThriftType element_type, const u_int32_t size, int *error)
 
static int32_t thrift_protocol_write_list_end (ThriftProtocol *protocol, int *error)
 
static int32_t thrift_protocol_write_bool (ThriftProtocol *protocol, const u_int8_t value, int *error)
 
static int32_t thrift_protocol_write_byte (ThriftProtocol *protocol, const int8_t value, int *error)
 
static int32_t thrift_protocol_write_i16 (ThriftProtocol *protocol, const int16_t value, int *error)
 
static int32_t thrift_protocol_write_i32 (ThriftProtocol *protocol, const int32_t value, int *error)
 
static int32_t thrift_protocol_write_i64 (ThriftProtocol *protocol, const int64_t value, int *error)
 
static int32_t thrift_protocol_write_u16 (ThriftProtocol *protocol, const u_int16_t value, int *error)
 
static int32_t thrift_protocol_write_u32 (ThriftProtocol *protocol, const u_int32_t value, int *error)
 
static int32_t thrift_protocol_write_u64 (ThriftProtocol *protocol, const u_int64_t value, int *error)
 
static int32_t thrift_protocol_write_ipv4 (ThriftProtocol *protocol, const u_int32_t value, int *error)
 
static int32_t thrift_protocol_write_ipaddr (ThriftProtocol *protocol, const ipaddr_t *value, int *error)
 
static int32_t thrift_protocol_write_double (ThriftProtocol *protocol, const double value, int *error)
 
static int32_t thrift_protocol_write_string (ThriftProtocol *protocol, const char *str, int *error)
 
static int32_t thrift_protocol_write_binary (ThriftProtocol *protocol, const void *buf, const u_int32_t len, int *error)
 
static int32_t thrift_protocol_write_xml (ThriftProtocol *protocol, const char *str, int *error)
 
static int32_t thrift_protocol_write_uuid_t (ThriftProtocol *protocol, const ct_uuid_t value, int *error)
 
static int32_t thrift_protocol_read_sandesh_begin (ThriftProtocol *protocol, char **name, int *error)
 
static int32_t thrift_protocol_read_sandesh_end (ThriftProtocol *protocol, int *error)
 
static int32_t thrift_protocol_read_struct_begin (ThriftProtocol *protocol, char **name, int *error)
 
static int32_t thrift_protocol_read_struct_end (ThriftProtocol *protocol, int *error)
 
static int32_t thrift_protocol_read_field_begin (ThriftProtocol *protocol, char **name, ThriftType *field_type, int16_t *field_id, int *error)
 
static int32_t thrift_protocol_read_field_end (ThriftProtocol *protocol, int *error)
 
static int32_t thrift_protocol_read_list_begin (ThriftProtocol *protocol, ThriftType *element_type, u_int32_t *size, int *error)
 
static int32_t thrift_protocol_read_list_end (ThriftProtocol *protocol, int *error)
 
static int32_t thrift_protocol_read_bool (ThriftProtocol *protocol, u_int8_t *value, int *error)
 
static int32_t thrift_protocol_read_byte (ThriftProtocol *protocol, int8_t *value, int *error)
 
static int32_t thrift_protocol_read_i16 (ThriftProtocol *protocol, int16_t *value, int *error)
 
static int32_t thrift_protocol_read_i32 (ThriftProtocol *protocol, int32_t *value, int *error)
 
static int32_t thrift_protocol_read_i64 (ThriftProtocol *protocol, int64_t *value, int *error)
 
static int32_t thrift_protocol_read_u16 (ThriftProtocol *protocol, u_int16_t *value, int *error)
 
static int32_t thrift_protocol_read_u32 (ThriftProtocol *protocol, u_int32_t *value, int *error)
 
static int32_t thrift_protocol_read_u64 (ThriftProtocol *protocol, u_int64_t *value, int *error)
 
static int32_t thrift_protocol_read_ipv4 (ThriftProtocol *protocol, u_int32_t *value, int *error)
 
static int32_t thrift_protocol_read_ipaddr (ThriftProtocol *protocol, ipaddr_t *value, int *error)
 
static int32_t thrift_protocol_read_double (ThriftProtocol *protocol, double *value, int *error)
 
static int32_t thrift_protocol_read_string (ThriftProtocol *protocol, char **str, int *error)
 
static int32_t thrift_protocol_read_binary (ThriftProtocol *protocol, void **buf, u_int32_t *len, int *error)
 
static int32_t thrift_protocol_read_xml (ThriftProtocol *protocol, char **str, int *error)
 
static int32_t thrift_protocol_read_uuid_t (ThriftProtocol *protocol, ct_uuid_t *value, int *error)
 
int32_t thrift_protocol_skip (ThriftProtocol *protocol, ThriftType type, int *error)
 
void thrift_protocol_init (ThriftProtocol *protocol, ThriftProtocolType ptype, ThriftTransport *transport)
 

Detailed Description

Abstract class for Thrift protocol implementations.

Definition in file thrift_protocol.h.

Typedef Documentation

Definition at line 170 of file thrift_protocol.h.

Enumeration Type Documentation

Enumerated definition of the message types that the Thrift protocol supports.

Enumerator
T_CALL 
T_REPLY 
T_EXCEPTION 
T_ONEWAY 

Definition at line 70 of file thrift_protocol.h.

Enumerator
THRIFT_PROTOCOL_ERROR_UNKNOWN 
THRIFT_PROTOCOL_ERROR_INVALID_DATA 
THRIFT_PROTOCOL_ERROR_NEGATIVE_SIZE 
THRIFT_PROTOCOL_ERROR_SIZE_LIMIT 
THRIFT_PROTOCOL_ERROR_BAD_VERSION 
THRIFT_PROTOCOL_ERROR_NOT_IMPLEMENTED 

Definition at line 525 of file thrift_protocol.h.

Enumerated definitions of supported protocols

Enumerator
T_PROTOCOL_BINARY 
T_PROTOCOL_XML 

Definition at line 80 of file thrift_protocol.h.

enum ThriftType

Enumerated definition of the types that the Thrift protocol supports. Take special note of the T_END type which is used specifically to mark the end of a sequence of fields.

Enumerator
T_STOP 
T_VOID 
T_BOOL 
T_BYTE 
T_I08 
T_I16 
T_I32 
T_U64 
T_I64 
T_DOUBLE 
T_STRING 
T_UTF7 
T_STRUCT 
T_MAP 
T_SET 
T_LIST 
T_UTF8 
T_UTF16 
T_U16 
T_U32 
T_XML 
T_IPV4 
T_UUID 
T_IPADDR 

Definition at line 39 of file thrift_protocol.h.

Function Documentation

static ThriftProtocolType thrift_protocol_get_type ( ThriftProtocol protocol)
inlinestatic

Definition at line 173 of file thrift_protocol.h.

void thrift_protocol_init ( ThriftProtocol protocol,
ThriftProtocolType  ptype,
ThriftTransport transport 
)
static int32_t thrift_protocol_read_binary ( ThriftProtocol protocol,
void **  buf,
u_int32_t *  len,
int *  error 
)
inlinestatic

Definition at line 498 of file thrift_protocol.h.

static int32_t thrift_protocol_read_bool ( ThriftProtocol protocol,
u_int8_t *  value,
int *  error 
)
inlinestatic

Definition at line 415 of file thrift_protocol.h.

static int32_t thrift_protocol_read_byte ( ThriftProtocol protocol,
int8_t *  value,
int *  error 
)
inlinestatic

Definition at line 422 of file thrift_protocol.h.

static int32_t thrift_protocol_read_double ( ThriftProtocol protocol,
double *  value,
int *  error 
)
inlinestatic

Definition at line 486 of file thrift_protocol.h.

static int32_t thrift_protocol_read_field_begin ( ThriftProtocol protocol,
char **  name,
ThriftType field_type,
int16_t *  field_id,
int *  error 
)
inlinestatic

Definition at line 384 of file thrift_protocol.h.

static int32_t thrift_protocol_read_field_end ( ThriftProtocol protocol,
int *  error 
)
inlinestatic

Definition at line 395 of file thrift_protocol.h.

static int32_t thrift_protocol_read_i16 ( ThriftProtocol protocol,
int16_t *  value,
int *  error 
)
inlinestatic

Definition at line 429 of file thrift_protocol.h.

static int32_t thrift_protocol_read_i32 ( ThriftProtocol protocol,
int32_t *  value,
int *  error 
)
inlinestatic

Definition at line 436 of file thrift_protocol.h.

static int32_t thrift_protocol_read_i64 ( ThriftProtocol protocol,
int64_t *  value,
int *  error 
)
inlinestatic

Definition at line 443 of file thrift_protocol.h.

static int32_t thrift_protocol_read_ipaddr ( ThriftProtocol protocol,
ipaddr_t value,
int *  error 
)
inlinestatic

Definition at line 479 of file thrift_protocol.h.

static int32_t thrift_protocol_read_ipv4 ( ThriftProtocol protocol,
u_int32_t *  value,
int *  error 
)
inlinestatic

Definition at line 472 of file thrift_protocol.h.

static int32_t thrift_protocol_read_list_begin ( ThriftProtocol protocol,
ThriftType element_type,
u_int32_t *  size,
int *  error 
)
inlinestatic

Definition at line 401 of file thrift_protocol.h.

static int32_t thrift_protocol_read_list_end ( ThriftProtocol protocol,
int *  error 
)
inlinestatic

Definition at line 409 of file thrift_protocol.h.

static int32_t thrift_protocol_read_sandesh_begin ( ThriftProtocol protocol,
char **  name,
int *  error 
)
inlinestatic

Definition at line 354 of file thrift_protocol.h.

static int32_t thrift_protocol_read_sandesh_end ( ThriftProtocol protocol,
int *  error 
)
inlinestatic

Definition at line 362 of file thrift_protocol.h.

static int32_t thrift_protocol_read_string ( ThriftProtocol protocol,
char **  str,
int *  error 
)
inlinestatic

Definition at line 492 of file thrift_protocol.h.

static int32_t thrift_protocol_read_struct_begin ( ThriftProtocol protocol,
char **  name,
int *  error 
)
inlinestatic

Definition at line 369 of file thrift_protocol.h.

static int32_t thrift_protocol_read_struct_end ( ThriftProtocol protocol,
int *  error 
)
inlinestatic

Definition at line 377 of file thrift_protocol.h.

static int32_t thrift_protocol_read_u16 ( ThriftProtocol protocol,
u_int16_t *  value,
int *  error 
)
inlinestatic

Definition at line 450 of file thrift_protocol.h.

static int32_t thrift_protocol_read_u32 ( ThriftProtocol protocol,
u_int32_t *  value,
int *  error 
)
inlinestatic

Definition at line 457 of file thrift_protocol.h.

static int32_t thrift_protocol_read_u64 ( ThriftProtocol protocol,
u_int64_t *  value,
int *  error 
)
inlinestatic

Definition at line 465 of file thrift_protocol.h.

static int32_t thrift_protocol_read_uuid_t ( ThriftProtocol protocol,
ct_uuid_t value,
int *  error 
)
inlinestatic

Definition at line 511 of file thrift_protocol.h.

static int32_t thrift_protocol_read_xml ( ThriftProtocol protocol,
char **  str,
int *  error 
)
inlinestatic

Definition at line 505 of file thrift_protocol.h.

int32_t thrift_protocol_skip ( ThriftProtocol protocol,
ThriftType  type,
int *  error 
)
static int32_t thrift_protocol_write_binary ( ThriftProtocol protocol,
const void *  buf,
const u_int32_t  len,
int *  error 
)
inlinestatic

Definition at line 332 of file thrift_protocol.h.

static int32_t thrift_protocol_write_bool ( ThriftProtocol protocol,
const u_int8_t  value,
int *  error 
)
inlinestatic

Definition at line 248 of file thrift_protocol.h.

static int32_t thrift_protocol_write_byte ( ThriftProtocol protocol,
const int8_t  value,
int *  error 
)
inlinestatic

Definition at line 255 of file thrift_protocol.h.

static int32_t thrift_protocol_write_double ( ThriftProtocol protocol,
const double  value,
int *  error 
)
inlinestatic

Definition at line 318 of file thrift_protocol.h.

static int32_t thrift_protocol_write_field_begin ( ThriftProtocol protocol,
const char *  name,
const ThriftType  field_type,
const int16_t  field_id,
int *  error 
)
inlinestatic

Definition at line 209 of file thrift_protocol.h.

static int32_t thrift_protocol_write_field_end ( ThriftProtocol protocol,
int *  error 
)
inlinestatic

Definition at line 220 of file thrift_protocol.h.

static int32_t thrift_protocol_write_field_stop ( ThriftProtocol protocol,
int *  error 
)
inlinestatic

Definition at line 227 of file thrift_protocol.h.

static int32_t thrift_protocol_write_i16 ( ThriftProtocol protocol,
const int16_t  value,
int *  error 
)
inlinestatic

Definition at line 262 of file thrift_protocol.h.

static int32_t thrift_protocol_write_i32 ( ThriftProtocol protocol,
const int32_t  value,
int *  error 
)
inlinestatic

Definition at line 269 of file thrift_protocol.h.

static int32_t thrift_protocol_write_i64 ( ThriftProtocol protocol,
const int64_t  value,
int *  error 
)
inlinestatic

Definition at line 276 of file thrift_protocol.h.

static int32_t thrift_protocol_write_ipaddr ( ThriftProtocol protocol,
const ipaddr_t value,
int *  error 
)
inlinestatic

Definition at line 311 of file thrift_protocol.h.

static int32_t thrift_protocol_write_ipv4 ( ThriftProtocol protocol,
const u_int32_t  value,
int *  error 
)
inlinestatic

Definition at line 304 of file thrift_protocol.h.

static int32_t thrift_protocol_write_list_begin ( ThriftProtocol protocol,
const ThriftType  element_type,
const u_int32_t  size,
int *  error 
)
inlinestatic

Definition at line 234 of file thrift_protocol.h.

static int32_t thrift_protocol_write_list_end ( ThriftProtocol protocol,
int *  error 
)
inlinestatic

Definition at line 242 of file thrift_protocol.h.

static int32_t thrift_protocol_write_sandesh_begin ( ThriftProtocol protocol,
const char *  name,
int *  error 
)
inlinestatic

Definition at line 180 of file thrift_protocol.h.

static int32_t thrift_protocol_write_sandesh_end ( ThriftProtocol protocol,
int *  error 
)
inlinestatic

Definition at line 187 of file thrift_protocol.h.

static int32_t thrift_protocol_write_string ( ThriftProtocol protocol,
const char *  str,
int *  error 
)
inlinestatic

Definition at line 325 of file thrift_protocol.h.

static int32_t thrift_protocol_write_struct_begin ( ThriftProtocol protocol,
const char *  name,
int *  error 
)
inlinestatic

Definition at line 194 of file thrift_protocol.h.

static int32_t thrift_protocol_write_struct_end ( ThriftProtocol protocol,
int *  error 
)
inlinestatic

Definition at line 202 of file thrift_protocol.h.

static int32_t thrift_protocol_write_u16 ( ThriftProtocol protocol,
const u_int16_t  value,
int *  error 
)
inlinestatic

Definition at line 283 of file thrift_protocol.h.

static int32_t thrift_protocol_write_u32 ( ThriftProtocol protocol,
const u_int32_t  value,
int *  error 
)
inlinestatic

Definition at line 290 of file thrift_protocol.h.

static int32_t thrift_protocol_write_u64 ( ThriftProtocol protocol,
const u_int64_t  value,
int *  error 
)
inlinestatic

Definition at line 297 of file thrift_protocol.h.

static int32_t thrift_protocol_write_uuid_t ( ThriftProtocol protocol,
const ct_uuid_t  value,
int *  error 
)
inlinestatic

Definition at line 347 of file thrift_protocol.h.

static int32_t thrift_protocol_write_xml ( ThriftProtocol protocol,
const char *  str,
int *  error 
)
inlinestatic

Definition at line 340 of file thrift_protocol.h.