Skip to content

Commit e5db241

Browse files
jokemanfiremxpv
authored andcommitted
Fix complie error
1. update ttrpc version 2. proto3 syntax "To define 'optional' fields in Proto3, simply remove the 'optional' label, as fields are 'optional' by default" 3. compile fail because "required for the cast from `Arc<std::boxed::Box<<T as asynchronous::Shim>::T>>` to `Arc<(dyn containerd_shim_protos::shim_async::Task + std::marker::Send + Sync + 'static)>`" Signed-off-by: jokemanfire <[email protected]>
1 parent 26b783c commit e5db241

File tree

6 files changed

+12
-9
lines changed

6 files changed

+12
-9
lines changed

crates/client/vendor/github.com/containerd/containerd/api/services/images/v1/images.proto

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/client/vendor/github.com/containerd/containerd/api/types/fieldpath.proto

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/shim-protos/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ async-trait = { workspace = true, optional = true }
5252
# protobuf 3.5 introduces a breaking change: https://github.com/containerd/rust-extensions/issues/295
5353
# pinning to <3.5.0 until we can update the generated code
5454
protobuf = ">= 3.0, <3.5.0"
55-
ttrpc = "0.8.2"
55+
ttrpc = "0.8.3"
5656

5757
[build-dependencies]
5858
ttrpc-codegen = "0.4.2"

crates/shim/src/asynchronous/mod.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -225,8 +225,9 @@ where
225225
}
226226

227227
let publisher = RemotePublisher::new(&ttrpc_address).await?;
228-
let task = shim.create_task_service(publisher).await;
229-
let task_service = create_task(Arc::new(Box::new(task)));
228+
let task = Box::new(shim.create_task_service(publisher).await)
229+
as Box<dyn containerd_shim_protos::shim_async::Task + Send + Sync>;
230+
let task_service = create_task(Arc::from(task));
230231
let mut server = Server::new().register_service(task_service);
231232
server = server.add_listener(SOCKET_FD)?;
232233
server = server.set_domain_unix();

crates/shim/src/synchronous/mod.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -265,8 +265,9 @@ where
265265
}
266266

267267
let publisher = publisher::RemotePublisher::new(&ttrpc_address)?;
268-
let task = shim.create_task_service(publisher);
269-
let task_service = create_task(Arc::new(Box::new(task)));
268+
let task = Box::new(shim.create_task_service(publisher))
269+
as Box<dyn containerd_shim_protos::Task + Send + Sync + 'static>;
270+
let task_service = create_task(Arc::from(task));
270271
let mut server = create_server(flags)?;
271272
server = server.register_service(task_service);
272273
server.start()?;

crates/shim/src/synchronous/publisher.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,8 @@ mod tests {
188188
use std::os::unix::{io::AsRawFd, net::UnixListener};
189189
let listener = UnixListener::bind(server_address).unwrap();
190190
listener.set_nonblocking(true).unwrap();
191-
let service = client::create_events(Arc::new(Box::new(FakeServer {})));
191+
let task = Box::new(FakeServer {}) as Box<dyn Events + Send + Sync>;
192+
let service = client::create_events(task.into());
192193
let server = Server::new()
193194
.add_listener(listener.as_raw_fd())
194195
.unwrap()

0 commit comments

Comments
 (0)