mirror of https://github.com/facebook/rocksdb.git
48 lines
1.1 KiB
C++
48 lines
1.1 KiB
C++
/**
|
|
* Thrift server for leveldb
|
|
* @author Dhruba Borthakur (dhruba@gmail.com)
|
|
* Copyright 2012 Facebook
|
|
*/
|
|
|
|
#include <signal.h>
|
|
#include <DB.h>
|
|
#include <protocol/TBinaryProtocol.h>
|
|
#include <server/TSimpleServer.h>
|
|
#include <server/TConnectionContext.h>
|
|
#include <transport/TServerSocket.h>
|
|
#include <transport/TBufferTransports.h>
|
|
#include <leveldb_types.h>
|
|
#include "openhandles.h"
|
|
#include "server_options.h"
|
|
|
|
#include "leveldb/db.h"
|
|
#include "leveldb/write_batch.h"
|
|
|
|
using namespace apache::thrift;
|
|
using namespace apache::thrift::protocol;
|
|
using namespace apache::thrift::transport;
|
|
using namespace apache::thrift::server;
|
|
using namespace Tleveldb;
|
|
using boost::shared_ptr;
|
|
|
|
extern "C" void startServer(int argc, char** argv);
|
|
extern "C" void stopServer(int port);
|
|
extern ServerOptions server_options;
|
|
|
|
void signal_handler(int sig) {
|
|
switch (sig) {
|
|
case SIGINT:
|
|
fprintf(stderr, "Received SIGINT, stopping leveldb server");
|
|
stopServer(server_options.getPort());
|
|
break;
|
|
}
|
|
}
|
|
|
|
int main(int argc, char **argv) {
|
|
signal(SIGINT, signal_handler);
|
|
startServer(argc, argv);
|
|
sleep(100000000L);
|
|
return 0;
|
|
}
|
|
|