update capnp

This commit is contained in:
ranfdev
2023-10-27 18:33:13 +02:00
parent d93356905c
commit fb29cd9584
7 changed files with 53 additions and 39 deletions

35
Cargo.lock generated
View File

@ -437,22 +437,31 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95e65021d89250bbfe7c2791789ced2c4bdc21b0e8bb59c64f3fd6145a5fd678"
[[package]]
name = "capnp-futures"
version = "0.17.0"
name = "capnp"
version = "0.18.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "71d520e0af228b92de357f230f4987ee4f9786f2b8aa24b9cfe53f5b11c17198"
checksum = "499cea1db22c19b7a823fa4876330700077b388cc7de2c5477028df00bcb4ae4"
dependencies = [
"capnp",
"embedded-io",
]
[[package]]
name = "capnp-futures"
version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d131190ee8454d1c3ccdd81b454805c7fa7d350fc3a343e7c5be285bf411a8af"
dependencies = [
"capnp 0.18.3",
"futures",
]
[[package]]
name = "capnp-rpc"
version = "0.17.0"
version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ab8e869783e491cbcc350427a5e775aa4d8a1deaa5198d74332957cfa430779"
checksum = "94b87a9e0f74600628e227d39b79ef8652c558a408999ac46ba22b19dbad0010"
dependencies = [
"capnp",
"capnp 0.18.3",
"capnp-futures",
"futures",
]
@ -463,7 +472,7 @@ version = "0.17.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fbbc3763fb3e6635188e9cc51ee11a26f8777c553ca377430818dbebaaf6042b"
dependencies = [
"capnp",
"capnp 0.17.2",
]
[[package]]
@ -634,6 +643,12 @@ dependencies = [
"crypto-common",
]
[[package]]
name = "embedded-io"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "658bbadc628dc286b9ae02f0cb0f5411c056eb7487b72f0083203f115de94060"
[[package]]
name = "encoding_rs"
version = "0.8.33"
@ -1645,7 +1660,7 @@ version = "0.1.1"
dependencies = [
"anyhow",
"ashpd",
"capnp",
"capnp 0.18.3",
"capnp-rpc",
"chrono",
"futures",
@ -1670,7 +1685,7 @@ version = "0.1.0"
dependencies = [
"anyhow",
"ashpd",
"capnp",
"capnp 0.18.3",
"capnp-rpc",
"capnpc",
"clap",

View File

@ -23,8 +23,8 @@ tracing-subscriber = "0.3"
adw = { version = "0.5", package = "libadwaita", features = ["v1_4"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
capnp = "0.17.2"
capnp-rpc = "0.17.0"
capnp = "0.18.0"
capnp-rpc = "0.18.0"
anyhow = "1.0.71"
chrono = "0.4.26"
rand = "0.8.5"

View File

@ -12,8 +12,8 @@ capnpc = "0.17.2"
[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
capnp = "0.17.2"
capnp-rpc = "0.17.0"
capnp = "0.18.0"
capnp-rpc = "0.18.0"
futures = "0.3.0"
tokio = { version = "1.0.0", features = ["net", "rt", "macros", "parking_lot"]}
tokio-util = { version = "0.7.4", features = ["compat", "io"] }

View File

@ -57,7 +57,7 @@ impl output_channel::Server for NotifyForwarder {
_results: output_channel::SendMessageResults,
) -> capnp::capability::Promise<(), capnp::Error> {
let request = pry!(params.get());
let message = pry!(request.get_message());
let message = pry!(pry!(request.get_message()).to_str());
// Store in database
let already_stored: bool = {
@ -104,7 +104,7 @@ impl output_channel::Server for NotifyForwarder {
let watching = watching.borrow();
let futs = watching.iter().map(|(_id, w)| {
let mut req = w.send_message_request();
req.get().set_message(message);
req.get().set_message(message.into());
async move {
if let Err(e) = req.send().promise.await {
error!(error = ?e, "Error forwarding");
@ -241,7 +241,7 @@ impl subscription::Server for SubscriptionImpl {
let futs = msgs.into_iter().map(move |msg| {
let mut req = watcher.send_message_request();
req.get().set_message(&msg);
req.get().set_message(msg.as_str().into());
req.send().promise
});
@ -268,7 +268,7 @@ impl subscription::Server for SubscriptionImpl {
params: subscription::PublishParams,
_results: subscription::PublishResults,
) -> capnp::capability::Promise<(), capnp::Error> {
let msg = pry!(pry!(params.get()).get_message());
let msg = pry!(pry!(pry!(params.get()).get_message()).to_str());
let fut = self._publish(msg);
Promise::from_future(async move {
@ -283,9 +283,9 @@ impl subscription::Server for SubscriptionImpl {
) -> capnp::capability::Promise<(), capnp::Error> {
let mut res = results.get();
let model = self.model.borrow();
res.set_server(&model.server);
res.set_display_name(&model.display_name);
res.set_topic(&model.topic);
res.set_server(model.server.as_str().into());
res.set_display_name(model.display_name.as_str().into());
res.set_topic(model.topic.as_str().into());
res.set_muted(model.muted);
res.set_read_until(model.read_until);
Promise::ok(())
@ -297,7 +297,7 @@ impl subscription::Server for SubscriptionImpl {
) -> capnp::capability::Promise<(), capnp::Error> {
let info = pry!(pry!(params.get()).get_value());
let mut model = self.model.borrow_mut();
model.display_name = pry!(info.get_display_name()).to_string();
model.display_name = pry!(pry!(info.get_display_name()).to_string());
model.muted = info.get_muted();
model.read_until = info.get_read_until();
pry!(self.env.db.update_subscription(model.clone()));
@ -395,8 +395,8 @@ impl system_notifier::Server for SystemNotifier {
params: system_notifier::SubscribeParams,
mut results: system_notifier::SubscribeResults,
) -> capnp::capability::Promise<(), capnp::Error> {
let topic = pry!(pry!(params.get()).get_topic());
let server: &str = pry!(pry!(params.get()).get_server());
let topic = pry!(pry!(pry!(params.get()).get_topic()).to_str());
let server: &str = pry!(pry!(pry!(params.get()).get_server()).to_str());
let subscription = pry!(models::Subscription::builder(topic.to_owned())
.server(server.to_string())
@ -419,8 +419,8 @@ impl system_notifier::Server for SystemNotifier {
params: system_notifier::UnsubscribeParams,
_results: system_notifier::UnsubscribeResults,
) -> capnp::capability::Promise<(), capnp::Error> {
let topic = pry!(pry!(params.get()).get_topic());
let server = pry!(pry!(params.get()).get_server());
let topic = pry!(pry!(pry!(params.get()).get_topic()).to_str());
let server = pry!(pry!(pry!(params.get()).get_server()).to_str());
{
self.watching.borrow_mut().remove(&WatchKey {
server: server.to_string(),

View File

@ -194,7 +194,7 @@ impl TopicListener {
Event::Message { .. } => {
debug!("message event");
let mut req = self.output_channel.send_message_request();
req.get().set_message(&msg);
req.get().set_message(msg.as_str().into());
req.send().promise.await?;
}
Event::KeepAlive { .. } => {

View File

@ -22,9 +22,9 @@ impl output_channel::Server for TopicWatcher {
) -> capnp::capability::Promise<(), capnp::Error> {
if let Some(sub) = self.sub.upgrade() {
let request = pry!(params.get());
let message = pry!(request.get_message());
let message = pry!(pry!(request.get_message()).to_str());
let msg: models::Message = serde_json::from_str(&message).unwrap();
let msg: models::Message = serde_json::from_str(message).unwrap();
sub.imp().messages.append(&glib::BoxedAnyObject::new(msg));
sub.update_unread_count();
Promise::ok(())
@ -175,11 +175,11 @@ impl Subscription {
let info = req_info.send().promise.await?;
let info = info.get()?;
this.init_info(
info.get_topic()?,
info.get_server()?,
info.get_topic()?.to_str()?,
info.get_server()?.to_str()?,
info.get_muted(),
info.get_read_until(),
info.get_display_name()?,
info.get_display_name()?.to_str()?,
);
let message_stream = req_messages.send().promise.await?;
@ -214,7 +214,7 @@ impl Subscription {
let mut req = imp.client.get().unwrap().update_info_request();
let mut val = pry!(req.get().get_value());
val.set_muted(imp.muted.get());
val.set_display_name(&*imp.display_name.borrow());
val.set_display_name(imp.display_name.borrow().as_str().into());
val.set_read_until(imp.read_until.get());
Promise::from_future(async move {
debug!("sending update_info");
@ -275,7 +275,7 @@ impl Subscription {
serde_json::to_string(&msg).map_err(|e| capnp::Error::failed(e.to_string()))
};
let mut req = imp.client.get().unwrap().publish_request();
req.get().set_message(&pry!(json));
req.get().set_message(pry!(json).as_str().into());
Promise::from_future(async move {
debug!("sending publish");

View File

@ -288,8 +288,8 @@ impl NotifyWindow {
fn add_subscription(&self, sub: models::Subscription) {
let mut req = self.notifier().subscribe_request();
req.get().set_server(&sub.server);
req.get().set_topic(&sub.topic);
req.get().set_server(sub.server.as_str().into());
req.get().set_topic(sub.topic.as_str().into());
let res = req.send();
let this = self.clone();
self.spawn_with_near_toast(async move {
@ -310,11 +310,10 @@ impl NotifyWindow {
fn unsubscribe(&self) {
let mut req = self.notifier().unsubscribe_request();
let sub = self.selected_subscription().unwrap();
req.get().set_server(&sub.server());
req.get().set_topic(&sub.topic());
req.get().set_server(sub.server().as_str().into());
req.get().set_topic(sub.topic().as_str().into());
let res = req.send();
let this = self.clone();