[Yunq] Return status from client calls.

This commit is contained in:
Drew Galbraith 2023-12-01 10:35:42 -08:00
parent 700f3f94cb
commit c209925a3c
25 changed files with 102 additions and 112 deletions

View file

@ -18,7 +18,7 @@ DenaliClient::~DenaliClient() {
glcr::ErrorCode DenaliClient::Read(const ReadRequest& request, ReadResponse& response) {
glcr::Status DenaliClient::Read(const ReadRequest& request, ReadResponse& response) {
uint64_t buffer_size = kBufferSize;
uint64_t cap_size = kCapBufferSize;
@ -41,18 +41,14 @@ glcr::ErrorCode DenaliClient::Read(const ReadRequest& request, ReadResponse& res
RET_ERR(ZReplyPortRecv(reply_port_cap, &buffer_size, buffer_.RawPtr(), &cap_size, cap_buffer_.RawPtr()));
if (buffer_.At<uint32_t>(0) != kSentinel) {
return glcr::INVALID_RESPONSE;
return glcr::InvalidResponse("Got an invalid response from server.");
}
// Check Response Code.
RET_ERR(buffer_.At<uint64_t>(8));
// TODO: Return status.
auto status = response.ParseFromBytes(buffer_, 16, cap_buffer_);
if (!status) {
return status.code();
}
RETURN_ERROR(response.ParseFromBytes(buffer_, 16, cap_buffer_));
return glcr::OK;
@ -61,7 +57,7 @@ glcr::ErrorCode DenaliClient::Read(const ReadRequest& request, ReadResponse& res
glcr::ErrorCode DenaliClient::ReadMany(const ReadManyRequest& request, ReadResponse& response) {
glcr::Status DenaliClient::ReadMany(const ReadManyRequest& request, ReadResponse& response) {
uint64_t buffer_size = kBufferSize;
uint64_t cap_size = kCapBufferSize;
@ -84,18 +80,14 @@ glcr::ErrorCode DenaliClient::ReadMany(const ReadManyRequest& request, ReadRespo
RET_ERR(ZReplyPortRecv(reply_port_cap, &buffer_size, buffer_.RawPtr(), &cap_size, cap_buffer_.RawPtr()));
if (buffer_.At<uint32_t>(0) != kSentinel) {
return glcr::INVALID_RESPONSE;
return glcr::InvalidResponse("Got an invalid response from server.");
}
// Check Response Code.
RET_ERR(buffer_.At<uint64_t>(8));
// TODO: Return status.
auto status = response.ParseFromBytes(buffer_, 16, cap_buffer_);
if (!status) {
return status.code();
}
RETURN_ERROR(response.ParseFromBytes(buffer_, 16, cap_buffer_));
return glcr::OK;

View file

@ -20,11 +20,11 @@ class DenaliClient {
[[nodiscard]] glcr::ErrorCode Read(const ReadRequest& request, ReadResponse& response);
[[nodiscard]] glcr::Status Read(const ReadRequest& request, ReadResponse& response);
[[nodiscard]] glcr::ErrorCode ReadMany(const ReadManyRequest& request, ReadResponse& response);
[[nodiscard]] glcr::Status ReadMany(const ReadManyRequest& request, ReadResponse& response);
private:

View file

@ -104,7 +104,6 @@ glcr::Status DenaliServerBase::HandleRequest(const glcr::ByteBuffer& request,
ReadRequest yunq_request;
// TODO: Return status.
RETURN_ERROR(yunq_request.ParseFromBytes(request, kHeaderSize, req_caps));
@ -125,7 +124,6 @@ glcr::Status DenaliServerBase::HandleRequest(const glcr::ByteBuffer& request,
ReadManyRequest yunq_request;
// TODO: Return status.
RETURN_ERROR(yunq_request.ParseFromBytes(request, kHeaderSize, req_caps));