mirror of
https://gitlab.com/fabinfra/fabaccess/sute.git
synced 2025-03-12 06:31:53 +01:00
Make compile with new schema
This commit is contained in:
parent
e94c516a5a
commit
182c8a9736
2
schema
2
schema
@ -1 +1 @@
|
||||
Subproject commit a4667b94f331f9f624416bbbb951fe78d5304d26
|
||||
Subproject commit d930c70978e8bd5b28b9c19c907d2fe457797a89
|
@ -26,11 +26,10 @@ impl Machines {
|
||||
Self { inner }
|
||||
}
|
||||
|
||||
pub fn get_machine(&mut self, uuid: String) -> impl Future<Output=Option<Machine>> {
|
||||
pub fn get_machine(&mut self, uid: String) -> impl Future<Output=Option<Machine>> {
|
||||
let mut req = self.inner.get_machine_request();
|
||||
let param_builder = req.get();
|
||||
let uuid_builder = param_builder.init_uuid();
|
||||
api_from_uuid(Uuid::from_str(&uuid).unwrap(), uuid_builder);
|
||||
let mut param_builder = req.get();
|
||||
let uid_builder = param_builder.set_uid(uid.as_ref());
|
||||
|
||||
let prom = req.send().promise;
|
||||
|
||||
|
@ -44,35 +44,3 @@ pub fn bootstrap(log: Logger, stream: TcpStream) -> (RpcSystem<Side>, API) {
|
||||
|
||||
return (rpc, API::new(log, client));
|
||||
}
|
||||
|
||||
pub async fn handshake(log: &Logger, mut stream: &mut TcpStream) -> Result<(), io::Error> {
|
||||
let host = "localhost";
|
||||
let program = format!("{}-{}", env!("CARGO_PKG_NAME"), env!("CARGO_PKG_VERSION"));
|
||||
let version = (0u32,1u32);
|
||||
|
||||
debug!(log, "Sending handshake as {}@{} speaking API v{}.{}",
|
||||
program, host, version.0, version.1);
|
||||
|
||||
let mut message = capnp::message::Builder::new_default();
|
||||
let mut builder = message.init_root::<connection_capnp::greeting::Builder>();
|
||||
|
||||
builder.set_host(host);
|
||||
builder.set_major(version.0);
|
||||
builder.set_minor(version.1);
|
||||
builder.set_program(&program);
|
||||
|
||||
capnp_futures::serialize::write_message(&mut stream, message).await.unwrap();
|
||||
if let Some(m) = capnp_futures::serialize::read_message(&mut stream, Default::default()).await.unwrap() {
|
||||
let greeting = m.get_root::<connection_capnp::greeting::Reader>().unwrap();
|
||||
let peer_host = greeting.get_host().unwrap();
|
||||
let peer_program = greeting.get_program().unwrap();
|
||||
let major = greeting.get_major();
|
||||
let minor = greeting.get_minor();
|
||||
|
||||
info!(log, "Peer {} running {} API {}.{}", peer_host, peer_program, major, minor)
|
||||
} else {
|
||||
error!(log, "Oh noes");
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ use smol::net::AsyncToSocketAddrs;
|
||||
|
||||
use slog::Logger;
|
||||
|
||||
use crate::schema::{handshake, bootstrap, API, Authentication};
|
||||
use crate::schema::{bootstrap, API, Authentication};
|
||||
|
||||
pub struct Session {
|
||||
pub bootstrap: API,
|
||||
@ -19,7 +19,7 @@ pub struct Session {
|
||||
|
||||
impl Session {
|
||||
pub async fn connect<A: AsyncToSocketAddrs>(log: Logger, addr: A) -> Result<Session> {
|
||||
let mut stream = TcpStream::connect(addr).await?;
|
||||
let stream = TcpStream::connect(addr).await?;
|
||||
let (rpc_system, api) = bootstrap(log, stream);
|
||||
|
||||
Ok(Session {
|
||||
|
Loading…
x
Reference in New Issue
Block a user