preparation for merge
This commit is contained in:
parent
261bf7deac
commit
2e858aa26b
|
|
@ -21,7 +21,7 @@ public:
|
||||||
etcdserverpb::DeleteRangeResponse deleteResponse;
|
etcdserverpb::DeleteRangeResponse deleteResponse;
|
||||||
grpc::Status status;
|
grpc::Status status;
|
||||||
grpc::ClientContext context;
|
grpc::ClientContext context;
|
||||||
grpc::CompletionQueue completionQueue;
|
grpc::CompletionQueue cq_;
|
||||||
std::unique_ptr<grpc::ClientAsyncResponseReader<etcdserverpb::DeleteRangeResponse>> rpcInstance;
|
std::unique_ptr<grpc::ClientAsyncResponseReader<etcdserverpb::DeleteRangeResponse>> rpcInstance;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "etcd/Value.hpp"
|
#include "etcd/Value.hpp"
|
||||||
|
#include <grpc++/grpc++.h>
|
||||||
|
|
||||||
namespace etcd
|
namespace etcd
|
||||||
{
|
{
|
||||||
|
|
@ -19,6 +20,37 @@ namespace etcd
|
||||||
public:
|
public:
|
||||||
static pplx::task<Response> create(pplx::task<web::http::http_response> response_task);
|
static pplx::task<Response> create(pplx::task<web::http::http_response> response_task);
|
||||||
|
|
||||||
|
//parang mas magandang ilagay ito sa baseclass imbis na here ooorrr
|
||||||
|
//talagang response v2 lang talaga dito
|
||||||
|
template<typename T>static pplx::task<etcd::Response> create(T call)
|
||||||
|
{
|
||||||
|
return pplx::task<etcd::Response>([call]()
|
||||||
|
{
|
||||||
|
void* got_tag;
|
||||||
|
bool ok = false;
|
||||||
|
etcd::Response resp;
|
||||||
|
|
||||||
|
//blocking
|
||||||
|
call->cq_.Next(&got_tag, &ok);
|
||||||
|
GPR_ASSERT(got_tag == (void*)call);
|
||||||
|
GPR_ASSERT(ok);
|
||||||
|
|
||||||
|
T call = static_cast<T>(got_tag);
|
||||||
|
if(call->status.ok())
|
||||||
|
{
|
||||||
|
// auto v3resp = call->ParseResponse();
|
||||||
|
resp = *call;// stripping off instead of creating a new response class
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw std::runtime_error(call->status.error_message());
|
||||||
|
}
|
||||||
|
|
||||||
|
delete call; //todo:make this a smart pointer
|
||||||
|
return resp;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
Response();
|
Response();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -118,40 +118,41 @@ pplx::task<etcd::Response> etcd::Client::removeEntry(std::string const & entryKe
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//then delete
|
//then delete
|
||||||
std::cout << "removing etcd v3 entry naman" << std::endl;
|
std::cout << "removing etcd v3 entry naman with template na" << std::endl;
|
||||||
|
|
||||||
etcdserverpb::DeleteRangeRequest deleteRangeRequest;
|
etcdserverpb::DeleteRangeRequest deleteRangeRequest;
|
||||||
deleteRangeRequest.set_key(entryKey);
|
deleteRangeRequest.set_key(entryKey);
|
||||||
|
|
||||||
drp->rpcInstance = stub_->AsyncDeleteRange(&drp->context, deleteRangeRequest, &drp->completionQueue);
|
drp->rpcInstance = stub_->AsyncDeleteRange(&drp->context, deleteRangeRequest, &drp->cq_);
|
||||||
drp->rpcInstance->Finish(&drp->deleteResponse, &drp->status, (void*)drp);
|
drp->rpcInstance->Finish(&drp->deleteResponse, &drp->status, (void*)drp);
|
||||||
|
|
||||||
return pplx::task<etcd::Response>([drp]()
|
return Response::create(drp);
|
||||||
{
|
|
||||||
std::cout << "doing delete v3 entry task" << std::endl;
|
|
||||||
void* got_tag;
|
|
||||||
bool ok = false;
|
|
||||||
etcd::Response resp;
|
|
||||||
|
|
||||||
drp->completionQueue.Next(&got_tag, &ok);
|
// return pplx::task<etcd::Response>([drp]()
|
||||||
GPR_ASSERT(got_tag == (void*)drp);
|
// {
|
||||||
GPR_ASSERT(ok);
|
// std::cout << "doing delete v3 entry task" << std::endl;
|
||||||
|
// void* got_tag;
|
||||||
etcd::DeleteRpcResponse* deleteResponse = static_cast<etcd::DeleteRpcResponse*>(got_tag);
|
// bool ok = false;
|
||||||
|
// etcd::Response resp;
|
||||||
if (deleteResponse->status.ok()){
|
//
|
||||||
std::cout << "doing delete v3 entry task OK" << std::endl;
|
// drp->completionQueue.Next(&got_tag, &ok);
|
||||||
resp = *drp; //simply stripping off the response part
|
// GPR_ASSERT(got_tag == (void*)drp);
|
||||||
}
|
// GPR_ASSERT(ok);
|
||||||
else
|
//
|
||||||
std::cout << "doing delete v3 entry task NOK" << std::endl;
|
// etcd::DeleteRpcResponse* deleteResponse = static_cast<etcd::DeleteRpcResponse*>(got_tag);
|
||||||
delete deleteResponse;
|
//
|
||||||
std::cout << "delete done, returning" << std::endl;
|
// if (deleteResponse->status.ok()){
|
||||||
return resp;
|
// std::cout << "doing delete v3 entry task OK" << std::endl;
|
||||||
}
|
// resp = *drp; //simply stripping off the response part
|
||||||
);
|
// }
|
||||||
|
// else
|
||||||
|
// std::cout << "doing delete v3 entry task NOK" << std::endl;
|
||||||
|
// delete deleteResponse;
|
||||||
|
// std::cout << "delete done, returning" << std::endl;
|
||||||
|
// return resp;
|
||||||
|
// }
|
||||||
|
// );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue