Commit graph

18 commits

Author SHA1 Message Date
Changyuan Lyu
234d2f4f7e p9cpu: forward 9p requests over gRPC stream
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2023-05-26 16:10:08 -07:00
Changyuan Lyu
3ea9466e09 p9cpu: make unpfs a library
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2023-05-26 16:10:08 -07:00
Changyuan Lyu
cbc6057199 p9cpu: import github.com/pfpacket/rust-9p as crates/9p
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2023-05-26 16:10:08 -07:00
Changyuan Lyu
ecfd90d802 p9cpud: implement the server
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2023-05-26 16:10:08 -07:00
Changyuan Lyu
517e90be56 p9cpu: let RPC server listen on UDS/Vsock
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2023-05-26 16:10:08 -07:00
Changyuan Lyu
898c667c46 p9cpu: rename CommandReq to Cmd
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2023-05-26 16:10:08 -07:00
Changyuan Lyu
b0289c9b4e p9cpu: implememnt rpc-based cpu cli
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2023-05-26 16:10:08 -07:00
Changyuan Lyu
e0fa6525f6 p9cpu: add the constructor for RpcClient
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2023-05-26 16:10:08 -07:00
Changyuan Lyu
a66a7c5fae p9cpu: implement rpc server methods
Add a new dummy Server struct which will implement the actual
cpu server logic.

Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2023-05-26 16:10:08 -07:00
Changyuan Lyu
6fcae487b4 p9cpu: deprecate the usage of mod.rs
Renamed all <module>/mod.rs to <module>.rs.

Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2023-05-26 16:10:08 -07:00
Changyuan Lyu
e29c16ac11 p9cpu: update dependencies
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2023-05-26 16:10:08 -07:00
Changyuan Lyu
b3bd21853b p9cpu: add an AsyncFd struct
It is a wrapper of `tokio::io::unix::AsyncFd` but it implements
`AsyncRead` and `AsyncWrite`.

Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2023-05-26 16:10:07 -07:00
Changyuan Lyu
f8ba6d1f16 p9cpu: client: implement cpu client logic
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2023-05-26 16:10:07 -07:00
Changyuan Lyu
9f463b01d2 p9cpu: rpc: Add a gRPC server struct
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2023-05-26 16:10:07 -07:00
Changyuan Lyu
4bbdc2e659 p9cpu: server: define a server trait
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2023-05-26 16:10:07 -07:00
Changyuan Lyu
0e1f9cebbe p9cpu: Implements rpc-based transport layer client
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2023-05-26 16:10:07 -07:00
Changyuan Lyu
ce99fe8286 p9cpu: Defines a transport-layer client trait
`ClientInnerT` is a generic transport layer client. It can be either
an SSH client or a gRPC client. Basically it enables us to start a
process on a remote machine and forward stdin/stdout/stderr.

Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2023-05-26 16:10:07 -07:00
Changyuan Lyu
e489006d76 Start a gRPC-based Rust implementation
This project will contain 4 crates: the binaries for the client and
server, the library, and a 9p server library.

Signed-off-by: Changyuan Lyu <changyuanl@google.com>
2023-05-26 16:10:07 -07:00