0
votes

Which version of Cassandra and the Thrift API fully supports C#?

Because the C# source to create the Thrift.dll is currently different from the Java source to generate the Thrift.jar

C# .net here

\thrift-0.6.1\lib\csharp\src

or here in the Apache Thrift SVN

Is missing the class TFastFramedTransport which is in the Java source found in this folder

\thrift-0.6.1\lib\java\src\org\apache\thrift

or here in the Apache Thrift SVN

2

2 Answers

3
votes

Thrift version 0.6 fully supports C# already.

Cassandra is written in java, but it takes requests from applications through sockets, which is supported by Thrift API to make it easier. So! you just generate Cassandra client by command prompt and use it :), Depend on which programming language you are using for your application

for example, to generate C# Cassandra client:

Thrift --gen csharp cassandra.thrift

to generate java Cassandra client:

Thrift --gen java cassandra.thrift

... however, it is strongly recommended to use a higher level client like Aquiles or Hector instead of trying to use Thrift directly. It's not designed for that.

(Re the framed transport specifically, that's been supported from C# for years, just not with the exact same class name as Java.)

0
votes

I asked the same question of the Thrift mailing list here:

IFastFramedTransport missing in C# source

And got this answer:

FastFramedTransport (in Java) is just a higher-performance FramedTransport. It's not necessary for operation.

As far as when you might see an analog in C#, the answer is probably "when you submit a patch for it." :)

-Bryan