Cassandra Thrift ~
首先定义了Cassandra IDL的命名空间
namespace java org.apache.cassandra.thrift
namespace cpp org.apache.cassandra
namespace csharp Apache.Cassandra
namespace py cassandra
namespace php cassandra
namespace perl Cassandra
协议版本号定义成了一种点分字符串 看起来Cassandra协议版本更新还挺勤快
const string VERSION = "19.38.0"
Data Structures定义
struct Column {
1: required binary name,
2: optional binary value,
3: optional i64 timestamp,
4: optional i32 ttl,
}
struct SuperColumn {
1: required binary name,
2: required list<Column> columns,
}
struct CounterColumn {
1: required binary name,
2: required i64 value
}
struct CounterSuperColumn {
1: required binary name,
2: required list<CounterColumn> columns
}
struct ColumnOrSuperColumn {
1: optional Column column,
2: optional SuperColumn super_column,
3: optional CounterColumn counter_column,
4: optional CounterSuperColumn counter_super_column
}
exception NotFoundException {
}
exception InvalidRequestException {
1: required string why
}
exception UnavailableException {
}