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