Update `client::reply` to be non async

pull/297/head
wojciechkepka 3 years ago committed by Blaž Hrastnik
parent a6d39585d8
commit 80b4a69053

@ -165,13 +165,16 @@ impl Client {
} }
/// Reply to a language server RPC call. /// Reply to a language server RPC call.
pub async fn reply( pub fn reply(
&self, &self,
id: jsonrpc::Id, id: jsonrpc::Id,
result: core::result::Result<Value, jsonrpc::Error>, result: core::result::Result<Value, jsonrpc::Error>,
) -> Result<()> { ) -> impl Future<Output = Result<()>> {
use jsonrpc::{Failure, Output, Success, Version}; use jsonrpc::{Failure, Output, Success, Version};
let server_tx = self.server_tx.clone();
async move {
let output = match result { let output = match result {
Ok(result) => Output::Success(Success { Ok(result) => Output::Success(Success {
jsonrpc: Some(Version::V2), jsonrpc: Some(Version::V2),
@ -185,12 +188,13 @@ impl Client {
}), }),
}; };
self.server_tx server_tx
.send(Payload::Response(output)) .send(Payload::Response(output))
.map_err(|e| Error::Other(e.into()))?; .map_err(|e| Error::Other(e.into()))?;
Ok(()) Ok(())
} }
}
// ------------------------------------------------------------------------------------------- // -------------------------------------------------------------------------------------------
// General messages // General messages

Loading…
Cancel
Save