pub struct ExternalWorker { /* private fields */ }Expand description
Connection to an external worker (perhaps a Tierkreis server),
that can execute run_function for some defined+reported set of functions.
Implementations§
Source§impl ExternalWorker
impl ExternalWorker
Sourcepub async fn new_spawn(
command: impl AsRef<OsStr>,
interceptor: ClientInterceptor,
) -> Result<Self>
pub async fn new_spawn( command: impl AsRef<OsStr>, interceptor: ClientInterceptor, ) -> Result<Self>
Spawn a process that runs the specified command, which must print out the socket address for a GRPC server as the first line of stdout. (We expect the command to start a new gRPC server in its own process.)
The socket address could be a hostname + port, or path to a UNIX filesystem socket.
new_spawn then connects to the worker’s gRPC server and requests its signature.
Sourcepub async fn new_connect(
uri: &Uri,
interceptor: ClientInterceptor,
) -> Result<Self>
pub async fn new_connect( uri: &Uri, interceptor: ClientInterceptor, ) -> Result<Self>
Connects to an already-running external process given its Uri
Trait Implementations§
Source§impl Clone for ExternalWorker
impl Clone for ExternalWorker
Source§fn clone(&self) -> ExternalWorker
fn clone(&self) -> ExternalWorker
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl FunctionWorker for ExternalWorker
impl FunctionWorker for ExternalWorker
Source§fn spawn(&self, function: &FunctionName, loc: &Location) -> RuntimeOperation
fn spawn(&self, function: &FunctionName, loc: &Location) -> RuntimeOperation
Returns a
RuntimeOperation that runs the named function;
the operation will return an error if the function is unknown.Source§impl Worker for ExternalWorker
impl Worker for ExternalWorker
Source§fn signature<'life0, 'async_trait>(
&'life0 self,
location: Location,
) -> Pin<Box<dyn Future<Output = Result<ListFunctionsResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn signature<'life0, 'async_trait>(
&'life0 self,
location: Location,
) -> Pin<Box<dyn Future<Output = Result<ListFunctionsResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns the signature of the worker.
Source§fn to_runtime_worker(&self) -> Option<&dyn RuntimeWorker>
fn to_runtime_worker(&self) -> Option<&dyn RuntimeWorker>
Return a runtime worker, if it is one
Auto Trait Implementations§
impl Freeze for ExternalWorker
impl !RefUnwindSafe for ExternalWorker
impl Send for ExternalWorker
impl Sync for ExternalWorker
impl Unpin for ExternalWorker
impl UnsafeUnpin for ExternalWorker
impl !UnwindSafe for ExternalWorker
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request