Struct busyrpc::ServiceRegistry
source · pub struct ServiceRegistry { /* private fields */ }
Expand description
ServiceRegistry maps servers by name.
Implementations§
source§impl ServiceRegistry
impl ServiceRegistry
sourcepub fn new() -> Self
pub fn new() -> Self
Create a new ServiceRegistry.
Examples found in repository?
examples/busyrpc-benchmark-server.rs (line 44)
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
fn main() {
let (options, free) =
BenchmarkOptions::from_command_line("Usage: busyrpc-benchmark-server [OPTIONS]");
if !free.is_empty() {
eprintln!("command takes no arguments");
std::process::exit(1);
}
std::thread::spawn(|| {
let mut collector = Collector::new();
busyrpc::register_biometrics(&mut collector);
let fout = File::create("/dev/stdout").unwrap();
let mut emit = PlainTextEmitter::new(fout);
loop {
let now = SystemTime::now()
.duration_since(SystemTime::UNIX_EPOCH)
.expect("clock should never fail")
.as_millis()
.try_into()
.expect("millis since epoch should fit u64");
if let Err(e) = collector.emit(&mut emit, now) {
eprintln!("collector error: {}", e);
}
std::thread::sleep(std::time::Duration::from_millis(249));
}
});
let services = ServiceRegistry::new();
let server = Server::new(options.server, services).as_z().pretty_unwrap();
server.serve().as_z().pretty_unwrap();
}
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for ServiceRegistry
impl Send for ServiceRegistry
impl Sync for ServiceRegistry
impl Unpin for ServiceRegistry
impl !UnwindSafe for ServiceRegistry
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more