[Yunq] Return status from client calls.
This commit is contained in:
parent
700f3f94cb
commit
c209925a3c
25 changed files with 102 additions and 112 deletions
|
|
@ -20,7 +20,7 @@ YellowstoneClient::~YellowstoneClient() {
|
|||
|
||||
|
||||
|
||||
glcr::ErrorCode YellowstoneClient::RegisterEndpoint(const RegisterEndpointRequest& request) {
|
||||
glcr::Status YellowstoneClient::RegisterEndpoint(const RegisterEndpointRequest& request) {
|
||||
|
||||
uint64_t buffer_size = kBufferSize;
|
||||
uint64_t cap_size = kCapBufferSize;
|
||||
|
|
@ -43,7 +43,7 @@ glcr::ErrorCode YellowstoneClient::RegisterEndpoint(const RegisterEndpointReques
|
|||
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.
|
||||
|
|
@ -57,7 +57,7 @@ glcr::ErrorCode YellowstoneClient::RegisterEndpoint(const RegisterEndpointReques
|
|||
|
||||
|
||||
|
||||
glcr::ErrorCode YellowstoneClient::GetEndpoint(const GetEndpointRequest& request, Endpoint& response) {
|
||||
glcr::Status YellowstoneClient::GetEndpoint(const GetEndpointRequest& request, Endpoint& response) {
|
||||
|
||||
uint64_t buffer_size = kBufferSize;
|
||||
uint64_t cap_size = kCapBufferSize;
|
||||
|
|
@ -80,18 +80,14 @@ glcr::ErrorCode YellowstoneClient::GetEndpoint(const GetEndpointRequest& request
|
|||
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;
|
||||
|
|
@ -100,7 +96,7 @@ glcr::ErrorCode YellowstoneClient::GetEndpoint(const GetEndpointRequest& request
|
|||
|
||||
|
||||
|
||||
glcr::ErrorCode YellowstoneClient::GetAhciInfo(AhciInfo& response) {
|
||||
glcr::Status YellowstoneClient::GetAhciInfo(AhciInfo& response) {
|
||||
|
||||
uint64_t buffer_size = kBufferSize;
|
||||
uint64_t cap_size = kCapBufferSize;
|
||||
|
|
@ -123,18 +119,14 @@ glcr::ErrorCode YellowstoneClient::GetAhciInfo(AhciInfo& response) {
|
|||
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;
|
||||
|
|
@ -143,7 +135,7 @@ glcr::ErrorCode YellowstoneClient::GetAhciInfo(AhciInfo& response) {
|
|||
|
||||
|
||||
|
||||
glcr::ErrorCode YellowstoneClient::GetFramebufferInfo(FramebufferInfo& response) {
|
||||
glcr::Status YellowstoneClient::GetFramebufferInfo(FramebufferInfo& response) {
|
||||
|
||||
uint64_t buffer_size = kBufferSize;
|
||||
uint64_t cap_size = kCapBufferSize;
|
||||
|
|
@ -166,18 +158,14 @@ glcr::ErrorCode YellowstoneClient::GetFramebufferInfo(FramebufferInfo& response)
|
|||
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;
|
||||
|
|
@ -186,7 +174,7 @@ glcr::ErrorCode YellowstoneClient::GetFramebufferInfo(FramebufferInfo& response)
|
|||
|
||||
|
||||
|
||||
glcr::ErrorCode YellowstoneClient::GetDenali(DenaliInfo& response) {
|
||||
glcr::Status YellowstoneClient::GetDenali(DenaliInfo& response) {
|
||||
|
||||
uint64_t buffer_size = kBufferSize;
|
||||
uint64_t cap_size = kCapBufferSize;
|
||||
|
|
@ -209,18 +197,14 @@ glcr::ErrorCode YellowstoneClient::GetDenali(DenaliInfo& response) {
|
|||
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;
|
||||
|
|
|
|||
|
|
@ -22,23 +22,23 @@ class YellowstoneClient {
|
|||
|
||||
|
||||
|
||||
[[nodiscard]] glcr::ErrorCode RegisterEndpoint(const RegisterEndpointRequest& request);
|
||||
[[nodiscard]] glcr::Status RegisterEndpoint(const RegisterEndpointRequest& request);
|
||||
|
||||
|
||||
|
||||
[[nodiscard]] glcr::ErrorCode GetEndpoint(const GetEndpointRequest& request, Endpoint& response);
|
||||
[[nodiscard]] glcr::Status GetEndpoint(const GetEndpointRequest& request, Endpoint& response);
|
||||
|
||||
|
||||
|
||||
[[nodiscard]] glcr::ErrorCode GetAhciInfo(AhciInfo& response);
|
||||
[[nodiscard]] glcr::Status GetAhciInfo(AhciInfo& response);
|
||||
|
||||
|
||||
|
||||
[[nodiscard]] glcr::ErrorCode GetFramebufferInfo(FramebufferInfo& response);
|
||||
[[nodiscard]] glcr::Status GetFramebufferInfo(FramebufferInfo& response);
|
||||
|
||||
|
||||
|
||||
[[nodiscard]] glcr::ErrorCode GetDenali(DenaliInfo& response);
|
||||
[[nodiscard]] glcr::Status GetDenali(DenaliInfo& response);
|
||||
|
||||
|
||||
private:
|
||||
|
|
|
|||
|
|
@ -78,6 +78,7 @@ void YellowstoneServerBase::ServerThread() {
|
|||
glcr::Status err = HandleRequest(recv_buffer, recv_cap, resp_buffer, resp_length, resp_cap);
|
||||
if (!err) {
|
||||
WriteError(resp_buffer, err.code());
|
||||
dbgln("Responding Error {}", err.message());
|
||||
reply_err = static_cast<glcr::ErrorCode>(ZReplyPortSend(reply_port_cap, kHeaderSize, resp_buffer.RawPtr(), 0, nullptr));
|
||||
} else {
|
||||
WriteHeader(resp_buffer, resp_length);
|
||||
|
|
@ -105,7 +106,6 @@ glcr::Status YellowstoneServerBase::HandleRequest(const glcr::ByteBuffer& reques
|
|||
|
||||
|
||||
RegisterEndpointRequest yunq_request;
|
||||
// TODO: Return status.
|
||||
RETURN_ERROR(yunq_request.ParseFromBytes(request, kHeaderSize, req_caps));
|
||||
|
||||
|
||||
|
|
@ -124,7 +124,6 @@ glcr::Status YellowstoneServerBase::HandleRequest(const glcr::ByteBuffer& reques
|
|||
|
||||
|
||||
GetEndpointRequest yunq_request;
|
||||
// TODO: Return status.
|
||||
RETURN_ERROR(yunq_request.ParseFromBytes(request, kHeaderSize, req_caps));
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue