2011-01-05 13 views

Antwort

2

Zumindest in Thrift Trunk gibt es C glib Unterstützung, was bedeutet, dass es möglich ist, einen C-Client für Cassandra zu machen. Es ist wahrscheinlich noch nicht gut getestet.

posulliv/libcassandra wurde nie vervollständigt und unterstützt nur Cassandra 0.6. Es fehlen zum Beispiel einige Funktionen wie Super Column Support.

Ich habe auch eine C++ client that supports Cassandra 0.7 gestartet, aber es ist im Moment noch halb gebacken. Der größte Teil der Cassandra-API wird unterstützt. Zumindest kann es ein gutes Beispiel für die Arbeit mit der Thrift-API sein. Wenn Sie dazu in der Lage sind, einen Beitrag zum Projekt zu leisten oder einen C-Client zu starten, denke ich natürlich, dass viele Menschen das schätzen würden.

+0

Hi Tyler finden werden. Coroebus sieht vielversprechend aus! Habe die Lösung noch nicht entschieden. Einen C-Client zu erstellen ist eine große Herausforderung, ich beginne in Cassandra und Thrift klingt alles andere als einfach. Aber ich mag Herausforderungen, also wer weiß! Übrigens fehlt Ihrem Projekt eine LIZENZ-Datei! Danke für Ihre Hilfe ! – SCO

+0

Ja, ich muss da eins rein. Es wird BSD lizenziert sein. –

0

Ich schaffte das Generieren von C-Code aus der Cassandra-Stamm-Thrift-Datei. I erhalten die folgenden Dateien:

  • cassandra.c
  • cassandra.h
  • cassandra_types.c
  • cassandra_types.h

keine main() Funktion gibt, ich denke, diese sollte verlinkt und als Bibliothek verwendet werden, aber ich fand keine API-Dokumentation oder was auch immer.

Die Samples in der Datei swift/lib/c_glib/test zeigen keine Client-Testquelle an ... Werde tiefer hinein schauen!

1

Ich habe einen sehr grundlegenden Proof-of-Concept-C-Client für Cassandra erstellt und es auf github setzen. Es stützt sich auf die kaum dokumentierte Unterstützung der C-Sprache in Thrift (wie in früheren Antworten erwähnt). Dieser Client ist keineswegs ausgereift, zeigt jedoch, wie die von Thrift erzeugten C-Dateien verwendet werden können, und bietet einige grundlegende Funktionen. es könnte ein nützliches Sprungbrett zu einem ernsteren C-Client sein.