.gitignore updates, and deleting old build system files.
[bluesky.git] / kvstore / kvservice.cc
1 #include "kvservice.h"
2 #include <iostream>
3
4 using namespace std;
5
6 namespace kvstore
7 {
8
9 KeyValueRpcService::KeyValueRpcService(Backend *backend)
10     :_backend(backend)
11 {
12 }
13
14 KeyValueRpcService::~KeyValueRpcService()
15 {
16 }
17
18 void KeyValueRpcService::PutValue(
19                       ::google::protobuf::RpcController* /*controller*/,
20                       const ::kvrpc::Put* request,
21                       ::kvrpc::PutReply* response,
22                       ::google::protobuf::Closure* done)
23 {
24     if (_backend->Put(request->key(), request->value()))
25     {
26         response->set_result(kvrpc::SUCCESS);
27     }
28     else
29     {
30         response->set_result(kvrpc::FAILURE);
31     }
32
33     done->Run();
34 }
35
36 void KeyValueRpcService::GetValue(
37                       ::google::protobuf::RpcController* /*controller*/,
38                       const ::kvrpc::Get* request,
39                       ::kvrpc::GetReply* response,
40                       ::google::protobuf::Closure* done)
41 {
42     string value;
43     if (_backend->Get(request->key(), &value))
44     {
45         response->set_result(kvrpc::SUCCESS);
46         response->set_value(value);
47     }
48     else
49     {
50         response->set_result(kvrpc::FAILURE);
51     }
52     done->Run();
53 }
54
55 }; // namespace kvstore