Struct veloren_common_state::plugin::module::server_plugin::ServerPlugin
source · pub struct ServerPlugin {
interface0: Guest,
interface1: Guest,
}
Expand description
Auto-generated bindings for an instance a component which
implements the world server-plugin
.
This structure can be created through a number of means depending on your requirements and what you have on hand:
-
The most convenient way is to use
ServerPlugin::instantiate
which only needs aStore
,Component
, andLinker
. -
Alternatively you can create a
ServerPluginPre
ahead of time with aComponent
to front-load string lookups of exports once instead of per-instantiation. This method then usesServerPluginPre::instantiate
to create aServerPlugin
. -
If you’ve instantiated the instance yourself already then you can use
ServerPlugin::new
. -
You can also access the guts of instantiation through
ServerPluginIndices::new_instance
followed byServerPluginIndices::load
to crate an instance of this type.
These methods are all equivalent to one another and move around the tradeoff of what work is performed when.
Fields§
§interface0: Guest
§interface1: Guest
Implementations§
source§impl ServerPlugin
impl ServerPlugin
sourcepub fn instantiate<_T>(
store: impl AsContextMut<Data = _T>,
component: &Component,
linker: &Linker<_T>,
) -> Result<ServerPlugin>
pub fn instantiate<_T>( store: impl AsContextMut<Data = _T>, component: &Component, linker: &Linker<_T>, ) -> Result<ServerPlugin>
Convenience wrapper around ServerPluginPre::new
and
ServerPluginPre::instantiate
.
sourcepub fn new(
store: impl AsContextMut,
instance: &Instance,
) -> Result<ServerPlugin>
pub fn new( store: impl AsContextMut, instance: &Instance, ) -> Result<ServerPlugin>
Convenience wrapper around ServerPluginIndices::new_instance
and
ServerPluginIndices::load
.
pub fn add_to_linker<T, U>( linker: &mut Linker<T>, get: impl Fn(&mut T) -> &mut U + Send + Sync + Copy + 'static, ) -> Result<()>
pub fn veloren_plugin_events(&self) -> &Guest
pub fn veloren_plugin_server_events(&self) -> &Guest
Auto Trait Implementations§
impl Freeze for ServerPlugin
impl RefUnwindSafe for ServerPlugin
impl Send for ServerPlugin
impl Sync for ServerPlugin
impl Unpin for ServerPlugin
impl UnwindSafe for ServerPlugin
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
§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
self
file descriptor.§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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>
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 more