mirror of
https://github.com/netbirdio/gvisor.git
synced 2026-05-22 17:12:49 -07:00
Sort posix service functions
PiperOrigin-RevId: 305157179
This commit is contained in:
@@ -61,13 +61,15 @@
|
||||
}
|
||||
|
||||
class PosixImpl final : public posix_server::Posix::Service {
|
||||
::grpc::Status Socket(grpc_impl::ServerContext *context,
|
||||
const ::posix_server::SocketRequest *request,
|
||||
::posix_server::SocketResponse *response) override {
|
||||
response->set_fd(
|
||||
socket(request->domain(), request->type(), request->protocol()));
|
||||
::grpc::Status Accept(grpc_impl::ServerContext *context,
|
||||
const ::posix_server::AcceptRequest *request,
|
||||
::posix_server::AcceptResponse *response) override {
|
||||
sockaddr_storage addr;
|
||||
socklen_t addrlen = sizeof(addr);
|
||||
response->set_fd(accept(request->sockfd(),
|
||||
reinterpret_cast<sockaddr *>(&addr), &addrlen));
|
||||
response->set_errno_(errno);
|
||||
return ::grpc::Status::OK;
|
||||
return sockaddr_to_proto(addr, addrlen, response->mutable_addr());
|
||||
}
|
||||
|
||||
::grpc::Status Bind(grpc_impl::ServerContext *context,
|
||||
@@ -119,6 +121,14 @@ class PosixImpl final : public posix_server::Posix::Service {
|
||||
return ::grpc::Status::OK;
|
||||
}
|
||||
|
||||
::grpc::Status Close(grpc_impl::ServerContext *context,
|
||||
const ::posix_server::CloseRequest *request,
|
||||
::posix_server::CloseResponse *response) override {
|
||||
response->set_ret(close(request->fd()));
|
||||
response->set_errno_(errno);
|
||||
return ::grpc::Status::OK;
|
||||
}
|
||||
|
||||
::grpc::Status GetSockName(
|
||||
grpc_impl::ServerContext *context,
|
||||
const ::posix_server::GetSockNameRequest *request,
|
||||
@@ -139,17 +149,6 @@ class PosixImpl final : public posix_server::Posix::Service {
|
||||
return ::grpc::Status::OK;
|
||||
}
|
||||
|
||||
::grpc::Status Accept(grpc_impl::ServerContext *context,
|
||||
const ::posix_server::AcceptRequest *request,
|
||||
::posix_server::AcceptResponse *response) override {
|
||||
sockaddr_storage addr;
|
||||
socklen_t addrlen = sizeof(addr);
|
||||
response->set_fd(accept(request->sockfd(),
|
||||
reinterpret_cast<sockaddr *>(&addr), &addrlen));
|
||||
response->set_errno_(errno);
|
||||
return sockaddr_to_proto(addr, addrlen, response->mutable_addr());
|
||||
}
|
||||
|
||||
::grpc::Status SetSockOpt(
|
||||
grpc_impl::ServerContext *context,
|
||||
const ::posix_server::SetSockOptRequest *request,
|
||||
@@ -174,10 +173,11 @@ class PosixImpl final : public posix_server::Posix::Service {
|
||||
return ::grpc::Status::OK;
|
||||
}
|
||||
|
||||
::grpc::Status Close(grpc_impl::ServerContext *context,
|
||||
const ::posix_server::CloseRequest *request,
|
||||
::posix_server::CloseResponse *response) override {
|
||||
response->set_ret(close(request->fd()));
|
||||
::grpc::Status Socket(grpc_impl::ServerContext *context,
|
||||
const ::posix_server::SocketRequest *request,
|
||||
::posix_server::SocketResponse *response) override {
|
||||
response->set_fd(
|
||||
socket(request->domain(), request->type(), request->protocol()));
|
||||
response->set_errno_(errno);
|
||||
return ::grpc::Status::OK;
|
||||
}
|
||||
|
||||
@@ -16,17 +16,6 @@ syntax = "proto3";
|
||||
|
||||
package posix_server;
|
||||
|
||||
message SocketRequest {
|
||||
int32 domain = 1;
|
||||
int32 type = 2;
|
||||
int32 protocol = 3;
|
||||
}
|
||||
|
||||
message SocketResponse {
|
||||
int32 fd = 1;
|
||||
int32 errno_ = 2; // "errno" may fail to compile in c++.
|
||||
}
|
||||
|
||||
message SockaddrIn {
|
||||
int32 family = 1;
|
||||
uint32 port = 2;
|
||||
@@ -48,6 +37,23 @@ message Sockaddr {
|
||||
}
|
||||
}
|
||||
|
||||
message Timeval {
|
||||
int64 seconds = 1;
|
||||
int64 microseconds = 2;
|
||||
}
|
||||
|
||||
// Request and Response pairs for each Posix service RPC call, sorted.
|
||||
|
||||
message AcceptRequest {
|
||||
int32 sockfd = 1;
|
||||
}
|
||||
|
||||
message AcceptResponse {
|
||||
int32 fd = 1;
|
||||
int32 errno_ = 2; // "errno" may fail to compile in c++.
|
||||
Sockaddr addr = 3;
|
||||
}
|
||||
|
||||
message BindRequest {
|
||||
int32 sockfd = 1;
|
||||
Sockaddr addr = 2;
|
||||
@@ -58,6 +64,15 @@ message BindResponse {
|
||||
int32 errno_ = 2; // "errno" may fail to compile in c++.
|
||||
}
|
||||
|
||||
message CloseRequest {
|
||||
int32 fd = 1;
|
||||
}
|
||||
|
||||
message CloseResponse {
|
||||
int32 ret = 1;
|
||||
int32 errno_ = 2; // "errno" may fail to compile in c++.
|
||||
}
|
||||
|
||||
message GetSockNameRequest {
|
||||
int32 sockfd = 1;
|
||||
}
|
||||
@@ -78,16 +93,6 @@ message ListenResponse {
|
||||
int32 errno_ = 2; // "errno" may fail to compile in c++.
|
||||
}
|
||||
|
||||
message AcceptRequest {
|
||||
int32 sockfd = 1;
|
||||
}
|
||||
|
||||
message AcceptResponse {
|
||||
int32 fd = 1;
|
||||
int32 errno_ = 2; // "errno" may fail to compile in c++.
|
||||
Sockaddr addr = 3;
|
||||
}
|
||||
|
||||
message SetSockOptRequest {
|
||||
int32 sockfd = 1;
|
||||
int32 level = 2;
|
||||
@@ -100,11 +105,6 @@ message SetSockOptResponse {
|
||||
int32 errno_ = 2; // "errno" may fail to compile in c++.
|
||||
}
|
||||
|
||||
message Timeval {
|
||||
int64 seconds = 1;
|
||||
int64 microseconds = 2;
|
||||
}
|
||||
|
||||
message SetSockOptTimevalRequest {
|
||||
int32 sockfd = 1;
|
||||
int32 level = 2;
|
||||
@@ -117,12 +117,14 @@ message SetSockOptTimevalResponse {
|
||||
int32 errno_ = 2; // "errno" may fail to compile in c++.
|
||||
}
|
||||
|
||||
message CloseRequest {
|
||||
int32 fd = 1;
|
||||
message SocketRequest {
|
||||
int32 domain = 1;
|
||||
int32 type = 2;
|
||||
int32 protocol = 3;
|
||||
}
|
||||
|
||||
message CloseResponse {
|
||||
int32 ret = 1;
|
||||
message SocketResponse {
|
||||
int32 fd = 1;
|
||||
int32 errno_ = 2; // "errno" may fail to compile in c++.
|
||||
}
|
||||
|
||||
@@ -139,16 +141,16 @@ message RecvResponse {
|
||||
}
|
||||
|
||||
service Posix {
|
||||
// Call socket() on the DUT.
|
||||
rpc Socket(SocketRequest) returns (SocketResponse);
|
||||
// Call accept() on the DUT.
|
||||
rpc Accept(AcceptRequest) returns (AcceptResponse);
|
||||
// Call bind() on the DUT.
|
||||
rpc Bind(BindRequest) returns (BindResponse);
|
||||
// Call close() on the DUT.
|
||||
rpc Close(CloseRequest) returns (CloseResponse);
|
||||
// Call getsockname() on the DUT.
|
||||
rpc GetSockName(GetSockNameRequest) returns (GetSockNameResponse);
|
||||
// Call listen() on the DUT.
|
||||
rpc Listen(ListenRequest) returns (ListenResponse);
|
||||
// Call accept() on the DUT.
|
||||
rpc Accept(AcceptRequest) returns (AcceptResponse);
|
||||
// Call setsockopt() on the DUT. You should prefer one of the other
|
||||
// SetSockOpt* functions with a more structured optval or else you may get the
|
||||
// encoding wrong, such as making a bad assumption about the server's word
|
||||
@@ -157,8 +159,8 @@ service Posix {
|
||||
// Call setsockopt() on the DUT with a Timeval optval.
|
||||
rpc SetSockOptTimeval(SetSockOptTimevalRequest)
|
||||
returns (SetSockOptTimevalResponse);
|
||||
// Call close() on the DUT.
|
||||
rpc Close(CloseRequest) returns (CloseResponse);
|
||||
// Call socket() on the DUT.
|
||||
rpc Socket(SocketRequest) returns (SocketResponse);
|
||||
// Call recv() on the DUT.
|
||||
rpc Recv(RecvRequest) returns (RecvResponse);
|
||||
}
|
||||
|
||||
+260
-257
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user