pub trait Service: Send + Sync {
    fn bind<'async_trait>(
        self: Box<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 macro to expose your implementation to the deployment backend.

Required Methods

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