pub struct Producer { /* private fields */ }Implementations§
Source§impl Producer
impl Producer
Sourcepub fn new<L>(
locked: &mut Locked<L>,
current_task: &CurrentTask,
socket: FileHandle,
) -> Result<Self, ProducerError>where
L: LockEqualOrBefore<FileOpsCore>,
pub fn new<L>(
locked: &mut Locked<L>,
current_task: &CurrentTask,
socket: FileHandle,
) -> Result<Self, ProducerError>where
L: LockEqualOrBefore<FileOpsCore>,
Opens a socket connection to the specified socket path and initializes the requisite bookkeeping information.
Sourcepub fn initialize_connection<L>(
&mut self,
request: InitializeConnectionRequest,
locked: &mut Locked<L>,
current_task: &CurrentTask,
) -> Result<InitializeConnectionResponse, ProducerError>where
L: LockEqualOrBefore<FileOpsCore>,
pub fn initialize_connection<L>(
&mut self,
request: InitializeConnectionRequest,
locked: &mut Locked<L>,
current_task: &CurrentTask,
) -> Result<InitializeConnectionResponse, ProducerError>where
L: LockEqualOrBefore<FileOpsCore>,
Called once only after establishing the connection with the Service. The service replies sending the shared memory file descriptor in reply.
Sourcepub fn register_data_source<L>(
&mut self,
request: RegisterDataSourceRequest,
locked: &mut Locked<L>,
current_task: &CurrentTask,
) -> Result<RegisterDataSourceResponse, ProducerError>where
L: LockEqualOrBefore<FileOpsCore>,
pub fn register_data_source<L>(
&mut self,
request: RegisterDataSourceRequest,
locked: &mut Locked<L>,
current_task: &CurrentTask,
) -> Result<RegisterDataSourceResponse, ProducerError>where
L: LockEqualOrBefore<FileOpsCore>,
Advertises a new data source.
Sourcepub fn get_command_request<L>(
&mut self,
locked: &mut Locked<L>,
current_task: &CurrentTask,
) -> Result<(), ProducerError>where
L: LockEqualOrBefore<FileOpsCore>,
pub fn get_command_request<L>(
&mut self,
locked: &mut Locked<L>,
current_task: &CurrentTask,
) -> Result<(), ProducerError>where
L: LockEqualOrBefore<FileOpsCore>,
This is a backchannel to get asynchronous commands / notifications back from the Service.
Sourcepub fn get_command_response<L>(
&mut self,
locked: &mut Locked<L>,
current_task: &CurrentTask,
) -> Result<(Option<GetAsyncCommandResponse>, bool), ProducerError>where
L: LockEqualOrBefore<FileOpsCore>,
pub fn get_command_response<L>(
&mut self,
locked: &mut Locked<L>,
current_task: &CurrentTask,
) -> Result<(Option<GetAsyncCommandResponse>, bool), ProducerError>where
L: LockEqualOrBefore<FileOpsCore>,
After calling get_command_request, block until a response can be read.
Auto Trait Implementations§
impl Freeze for Producer
impl !RefUnwindSafe for Producer
impl Send for Producer
impl Sync for Producer
impl Unpin for Producer
impl UnsafeUnpin for Producer
impl !UnwindSafe for Producer
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
§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
§impl<T> InstanceFromServiceTransport<T> for T
impl<T> InstanceFromServiceTransport<T> for T
§fn from_service_transport(handle: T) -> T
fn from_service_transport(handle: T) -> T
Converts the given service transport handle of type
T to [Self]§impl<T> IntoAny for T
impl<T> IntoAny for T
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, U> MultiArchFrom<T> for Uwhere
U: From<T>,
impl<T, U> MultiArchFrom<T> for Uwhere
U: From<T>,
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T, U> TryIntoExt<U> for Twhere
U: TryFromExt<T>,
impl<T, U> TryIntoExt<U> for Twhere
U: TryFromExt<T>,
type Error = <U as TryFromExt<T>>::Error
§fn try_into_ext(self) -> Result<U, <T as TryIntoExt<U>>::Error>
fn try_into_ext(self) -> Result<U, <T as TryIntoExt<U>>::Error>
Tries to perform the conversion.