Apache thrift

Apache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thriftApache thrift