pub trait Service: Send {
    // Required method
    fn bind<'async_trait>(
        self,
        addr: SocketAddr
    ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
       where Self: 'async_trait;
}
Expand description

The core trait of the shuttle platform. Every crate deployed to shuttle needs to implement this trait.

Use the [main][main] macro to expose your implementation to the deployment backend.

Required Methods§

source

fn bind<'async_trait>( self, addr: SocketAddr ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait,

This function is run exactly once on each instance of a deployment.

The deployer expects this instance of Service to bind to the passed SocketAddr.

Implementors§