Struct linera_sdk::contract::MockContractRuntime
source · pub struct MockContractRuntime<Application>where
Application: Contract,{ /* private fields */ }
Expand description
A mock of the common runtime to interface with the host executing the contract.
Implementations§
source§impl<Application> MockContractRuntime<Application>where
Application: Contract,
impl<Application> MockContractRuntime<Application>where
Application: Contract,
sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new MockContractRuntime
instance for a contract.
sourcepub fn key_value_store(&self) -> KeyValueStore
pub fn key_value_store(&self) -> KeyValueStore
Returns the key-value store to interface with storage.
sourcepub fn root_view_storage_context(&self) -> ViewStorageContext
pub fn root_view_storage_context(&self) -> ViewStorageContext
Returns a storage context suitable for a root view.
sourcepub fn with_application_parameters(
self,
application_parameters: Application::Parameters,
) -> Self
pub fn with_application_parameters( self, application_parameters: Application::Parameters, ) -> Self
Configures the application parameters to return during the test.
sourcepub fn set_application_parameters(
&mut self,
application_parameters: Application::Parameters,
) -> &mut Self
pub fn set_application_parameters( &mut self, application_parameters: Application::Parameters, ) -> &mut Self
Configures the application parameters to return during the test.
sourcepub fn application_parameters(&mut self) -> Application::Parameters
pub fn application_parameters(&mut self) -> Application::Parameters
Returns the application parameters provided when the application was created.
sourcepub fn with_application_id(
self,
application_id: ApplicationId<Application::Abi>,
) -> Self
pub fn with_application_id( self, application_id: ApplicationId<Application::Abi>, ) -> Self
Configures the application ID to return during the test.
sourcepub fn set_application_id(
&mut self,
application_id: ApplicationId<Application::Abi>,
) -> &mut Self
pub fn set_application_id( &mut self, application_id: ApplicationId<Application::Abi>, ) -> &mut Self
Configures the application ID to return during the test.
sourcepub fn application_id(&mut self) -> ApplicationId<Application::Abi>
pub fn application_id(&mut self) -> ApplicationId<Application::Abi>
Returns the ID of the current application.
sourcepub fn with_application_creator_chain_id(self, chain_id: ChainId) -> Self
pub fn with_application_creator_chain_id(self, chain_id: ChainId) -> Self
Configures the application creator chain ID to return during the test.
sourcepub fn set_application_creator_chain_id(
&mut self,
chain_id: ChainId,
) -> &mut Self
pub fn set_application_creator_chain_id( &mut self, chain_id: ChainId, ) -> &mut Self
Configures the application creator chain ID to return during the test.
sourcepub fn application_creator_chain_id(&mut self) -> ChainId
pub fn application_creator_chain_id(&mut self) -> ChainId
Returns the chain ID of the current application creator.
sourcepub fn with_chain_id(self, chain_id: ChainId) -> Self
pub fn with_chain_id(self, chain_id: ChainId) -> Self
Configures the chain ID to return during the test.
sourcepub fn set_chain_id(&mut self, chain_id: ChainId) -> &mut Self
pub fn set_chain_id(&mut self, chain_id: ChainId) -> &mut Self
Configures the chain ID to return during the test.
sourcepub fn with_authenticated_signer(
self,
authenticated_signer: impl Into<Option<Owner>>,
) -> Self
pub fn with_authenticated_signer( self, authenticated_signer: impl Into<Option<Owner>>, ) -> Self
Configures the authenticated signer to return during the test.
sourcepub fn set_authenticated_signer(
&mut self,
authenticated_signer: impl Into<Option<Owner>>,
) -> &mut Self
pub fn set_authenticated_signer( &mut self, authenticated_signer: impl Into<Option<Owner>>, ) -> &mut Self
Configures the authenticated signer to return during the test.
sourcepub fn authenticated_signer(&mut self) -> Option<Owner>
pub fn authenticated_signer(&mut self) -> Option<Owner>
Returns the authenticated signer for this execution, if there is one.
sourcepub fn with_block_height(self, block_height: BlockHeight) -> Self
pub fn with_block_height(self, block_height: BlockHeight) -> Self
Configures the block height to return during the test.
sourcepub fn set_block_height(&mut self, block_height: BlockHeight) -> &mut Self
pub fn set_block_height(&mut self, block_height: BlockHeight) -> &mut Self
Configures the block height to return during the test.
sourcepub fn with_round(self, round: u32) -> Self
pub fn with_round(self, round: u32) -> Self
Configures the multi-leader round number to return during the test.
sourcepub fn set_round(&mut self, round: u32) -> &mut Self
pub fn set_round(&mut self, round: u32) -> &mut Self
Configures the multi-leader round number to return during the test.
sourcepub fn block_height(&mut self) -> BlockHeight
pub fn block_height(&mut self) -> BlockHeight
Returns the height of the current block that is executing.
sourcepub fn with_message_id(self, message_id: impl Into<Option<MessageId>>) -> Self
pub fn with_message_id(self, message_id: impl Into<Option<MessageId>>) -> Self
Configures the message ID to return during the test.
sourcepub fn set_message_id(
&mut self,
message_id: impl Into<Option<MessageId>>,
) -> &mut Self
pub fn set_message_id( &mut self, message_id: impl Into<Option<MessageId>>, ) -> &mut Self
Configures the message ID to return during the test.
sourcepub fn message_id(&mut self) -> Option<MessageId>
pub fn message_id(&mut self) -> Option<MessageId>
Returns the ID of the incoming message that is being handled, or None
if not executing
an incoming message.
sourcepub fn with_message_is_bouncing(
self,
message_is_bouncing: impl Into<Option<bool>>,
) -> Self
pub fn with_message_is_bouncing( self, message_is_bouncing: impl Into<Option<bool>>, ) -> Self
Configures the message_is_bouncing
flag to return during the test.
sourcepub fn set_message_is_bouncing(
&mut self,
message_is_bouncing: impl Into<Option<bool>>,
) -> &mut Self
pub fn set_message_is_bouncing( &mut self, message_is_bouncing: impl Into<Option<bool>>, ) -> &mut Self
Configures the message_is_bouncing
flag to return during the test.
sourcepub fn message_is_bouncing(&mut self) -> Option<bool>
pub fn message_is_bouncing(&mut self) -> Option<bool>
sourcepub fn with_authenticated_caller_id(
self,
authenticated_caller_id: impl Into<Option<ApplicationId>>,
) -> Self
pub fn with_authenticated_caller_id( self, authenticated_caller_id: impl Into<Option<ApplicationId>>, ) -> Self
Configures the authenticated caller ID to return during the test.
sourcepub fn set_authenticated_caller_id(
&mut self,
authenticated_caller_id: impl Into<Option<ApplicationId>>,
) -> &mut Self
pub fn set_authenticated_caller_id( &mut self, authenticated_caller_id: impl Into<Option<ApplicationId>>, ) -> &mut Self
Configures the authenticated caller ID to return during the test.
sourcepub fn authenticated_caller_id(&mut self) -> Option<ApplicationId>
pub fn authenticated_caller_id(&mut self) -> Option<ApplicationId>
Returns the authenticated caller ID, if the caller configured it and if the current context is executing a cross-application call.
sourcepub fn with_system_time(self, timestamp: Timestamp) -> Self
pub fn with_system_time(self, timestamp: Timestamp) -> Self
Configures the system time to return during the test.
sourcepub fn set_system_time(&mut self, timestamp: Timestamp) -> &mut Self
pub fn set_system_time(&mut self, timestamp: Timestamp) -> &mut Self
Configures the system time to return during the test.
sourcepub fn system_time(&mut self) -> Timestamp
pub fn system_time(&mut self) -> Timestamp
Retrieves the current system time, i.e. the timestamp of the block in which this is called.
sourcepub fn with_chain_balance(self, chain_balance: Amount) -> Self
pub fn with_chain_balance(self, chain_balance: Amount) -> Self
Configures the chain balance to return during the test.
sourcepub fn set_chain_balance(&mut self, chain_balance: Amount) -> &mut Self
pub fn set_chain_balance(&mut self, chain_balance: Amount) -> &mut Self
Configures the chain balance to return during the test.
sourcepub fn chain_balance(&mut self) -> Amount
pub fn chain_balance(&mut self) -> Amount
Returns the current chain balance.
sourcepub fn with_owner_balances(
self,
owner_balances: impl IntoIterator<Item = (AccountOwner, Amount)>,
) -> Self
pub fn with_owner_balances( self, owner_balances: impl IntoIterator<Item = (AccountOwner, Amount)>, ) -> Self
Configures the balances on the chain to use during the test.
sourcepub fn set_owner_balances(
&mut self,
owner_balances: impl IntoIterator<Item = (AccountOwner, Amount)>,
) -> &mut Self
pub fn set_owner_balances( &mut self, owner_balances: impl IntoIterator<Item = (AccountOwner, Amount)>, ) -> &mut Self
Configures the balances on the chain to use during the test.
sourcepub fn with_owner_balance(self, owner: AccountOwner, balance: Amount) -> Self
pub fn with_owner_balance(self, owner: AccountOwner, balance: Amount) -> Self
Configures the balance of one account on the chain to use during the test.
sourcepub fn set_owner_balance(
&mut self,
owner: AccountOwner,
balance: Amount,
) -> &mut Self
pub fn set_owner_balance( &mut self, owner: AccountOwner, balance: Amount, ) -> &mut Self
Configures the balance of one account on the chain to use during the test.
sourcepub fn owner_balance(&mut self, owner: AccountOwner) -> Amount
pub fn owner_balance(&mut self, owner: AccountOwner) -> Amount
Returns the balance of one of the accounts on this chain.
sourcepub fn send_message(
&mut self,
destination: impl Into<Destination>,
message: Application::Message,
)
pub fn send_message( &mut self, destination: impl Into<Destination>, message: Application::Message, )
Schedules a message to be sent to this application on another chain.
sourcepub fn prepare_message(
&mut self,
message: Application::Message,
) -> MessageBuilder<Application::Message>
pub fn prepare_message( &mut self, message: Application::Message, ) -> MessageBuilder<Application::Message>
Returns a MessageBuilder
to prepare a message to be sent.
sourcepub fn created_send_message_requests(
&self,
) -> MutexGuard<'_, Vec<SendMessageRequest<Application::Message>>>
pub fn created_send_message_requests( &self, ) -> MutexGuard<'_, Vec<SendMessageRequest<Application::Message>>>
Returns the list of SendMessageRequest
s created so far during the test.
sourcepub fn subscribe(&mut self, chain: ChainId, channel: ChannelName)
pub fn subscribe(&mut self, chain: ChainId, channel: ChannelName)
Subscribes to a message channel from another chain.
sourcepub fn subscribe_requests(&self) -> &[(ChainId, ChannelName)]
pub fn subscribe_requests(&self) -> &[(ChainId, ChannelName)]
Returns the list of requests to subscribe to channels made in the test so far.
sourcepub fn unsubscribe(&mut self, chain: ChainId, channel: ChannelName)
pub fn unsubscribe(&mut self, chain: ChainId, channel: ChannelName)
Unsubscribes to a message channel from another chain.
sourcepub fn unsubscribe_requests(&self) -> &[(ChainId, ChannelName)]
pub fn unsubscribe_requests(&self) -> &[(ChainId, ChannelName)]
Returns the list of requests to unsubscribe to channels made in the test so far.
sourcepub fn transfer(
&mut self,
source: Option<AccountOwner>,
destination: Account,
amount: Amount,
)
pub fn transfer( &mut self, source: Option<AccountOwner>, destination: Account, amount: Amount, )
Transfers an amount
of native tokens from source
owner account (or the current chain’s
balance) to destination
.
sourcepub fn outgoing_transfers(&self) -> &HashMap<Account, Amount>
pub fn outgoing_transfers(&self) -> &HashMap<Account, Amount>
Returns the outgoing transfers scheduled during the test so far.
sourcepub fn claim(&mut self, source: Account, destination: Account, amount: Amount)
pub fn claim(&mut self, source: Account, destination: Account, amount: Amount)
Claims an amount
of native tokens from a source
account to a destination
account.
sourcepub fn claim_requests(&self) -> &[ClaimRequest]
pub fn claim_requests(&self) -> &[ClaimRequest]
Returns the list of claims made during the test so far.
sourcepub fn with_chain_ownership(self, chain_ownership: ChainOwnership) -> Self
pub fn with_chain_ownership(self, chain_ownership: ChainOwnership) -> Self
Configures the chain ownership configuration to return during the test.
sourcepub fn set_chain_ownership(
&mut self,
chain_ownership: ChainOwnership,
) -> &mut Self
pub fn set_chain_ownership( &mut self, chain_ownership: ChainOwnership, ) -> &mut Self
Configures the chain ownership configuration to return during the test.
sourcepub fn chain_ownership(&mut self) -> ChainOwnership
pub fn chain_ownership(&mut self) -> ChainOwnership
Retrieves the owner configuration for the current chain.
sourcepub fn with_can_close_chain(self, can_close_chain: bool) -> Self
pub fn with_can_close_chain(self, can_close_chain: bool) -> Self
Configures if the application being tested is allowed to close the chain its in.
sourcepub fn set_can_close_chain(&mut self, can_close_chain: bool) -> &mut Self
pub fn set_can_close_chain(&mut self, can_close_chain: bool) -> &mut Self
Configures if the application being tested is allowed to close the chain its in.
sourcepub fn with_can_change_application_permissions(
self,
can_change_application_permissions: bool,
) -> Self
pub fn with_can_change_application_permissions( self, can_change_application_permissions: bool, ) -> Self
Configures if the application being tested is allowed to change the application permissions on the chain.
sourcepub fn set_can_change_application_permissions(
&mut self,
can_change_application_permissions: bool,
) -> &mut Self
pub fn set_can_change_application_permissions( &mut self, can_change_application_permissions: bool, ) -> &mut Self
Configures if the application being tested is allowed to change the application permissions on the chain.
sourcepub fn close_chain(&mut self) -> Result<(), CloseChainError>
pub fn close_chain(&mut self) -> Result<(), CloseChainError>
Closes the current chain. Returns an error if the application doesn’t have permission to do so.
sourcepub fn change_application_permissions(
&mut self,
application_permissions: ApplicationPermissions,
) -> Result<(), ChangeApplicationPermissionsError>
pub fn change_application_permissions( &mut self, application_permissions: ApplicationPermissions, ) -> Result<(), ChangeApplicationPermissionsError>
Changes the application permissions on the current chain. Returns an error if the application doesn’t have permission to do so.
sourcepub fn add_expected_open_chain_call(
&mut self,
ownership: ChainOwnership,
application_permissions: ApplicationPermissions,
balance: Amount,
message_id: MessageId,
)
pub fn add_expected_open_chain_call( &mut self, ownership: ChainOwnership, application_permissions: ApplicationPermissions, balance: Amount, message_id: MessageId, )
Adds an expected call to open_chain
, and the message ID that should be returned.
sourcepub fn open_chain(
&mut self,
ownership: ChainOwnership,
application_permissions: ApplicationPermissions,
balance: Amount,
) -> (MessageId, ChainId)
pub fn open_chain( &mut self, ownership: ChainOwnership, application_permissions: ApplicationPermissions, balance: Amount, ) -> (MessageId, ChainId)
Opens a new chain, configuring it with the provided chain_ownership
,
application_permissions
and initial balance
(debited from the current chain).
sourcepub fn add_expected_create_application_call<Parameters, InstantiationArgument>(
&mut self,
bytecode_id: BytecodeId,
parameters: &Parameters,
argument: &InstantiationArgument,
required_application_ids: Vec<ApplicationId>,
application_id: ApplicationId,
)
pub fn add_expected_create_application_call<Parameters, InstantiationArgument>( &mut self, bytecode_id: BytecodeId, parameters: &Parameters, argument: &InstantiationArgument, required_application_ids: Vec<ApplicationId>, application_id: ApplicationId, )
Adds a new expected call to create_application
.
sourcepub fn create_application<Abi, Parameters, InstantiationArgument>(
&mut self,
bytecode_id: BytecodeId,
parameters: &Parameters,
argument: &InstantiationArgument,
required_application_ids: Vec<ApplicationId>,
) -> ApplicationId<Abi>
pub fn create_application<Abi, Parameters, InstantiationArgument>( &mut self, bytecode_id: BytecodeId, parameters: &Parameters, argument: &InstantiationArgument, required_application_ids: Vec<ApplicationId>, ) -> ApplicationId<Abi>
Creates a new on-chain application, based on the supplied bytecode and parameters.
sourcepub fn with_call_application_handler(
self,
handler: impl FnMut(bool, ApplicationId, Vec<u8>) -> Vec<u8> + 'static,
) -> Self
pub fn with_call_application_handler( self, handler: impl FnMut(bool, ApplicationId, Vec<u8>) -> Vec<u8> + 'static, ) -> Self
Configures the handler for cross-application calls made during the test.
sourcepub fn set_call_application_handler(
&mut self,
handler: impl FnMut(bool, ApplicationId, Vec<u8>) -> Vec<u8> + 'static,
) -> &mut Self
pub fn set_call_application_handler( &mut self, handler: impl FnMut(bool, ApplicationId, Vec<u8>) -> Vec<u8> + 'static, ) -> &mut Self
Configures the handler for cross-application calls made during the test.
sourcepub fn call_application<A: ContractAbi + Send>(
&mut self,
authenticated: bool,
application: ApplicationId<A>,
call: &A::Operation,
) -> A::Response
pub fn call_application<A: ContractAbi + Send>( &mut self, authenticated: bool, application: ApplicationId<A>, call: &A::Operation, ) -> A::Response
Calls another application.
sourcepub fn emit(&mut self, name: StreamName, key: &[u8], value: &[u8])
pub fn emit(&mut self, name: StreamName, key: &[u8], value: &[u8])
Adds a new item to an event stream.
sourcepub fn add_expected_service_query<A: ServiceAbi + Send>(
&mut self,
application_id: ApplicationId<A>,
query: A::Query,
response: A::QueryResponse,
)
pub fn add_expected_service_query<A: ServiceAbi + Send>( &mut self, application_id: ApplicationId<A>, query: A::Query, response: A::QueryResponse, )
Adds an expected query_service
call`, and the response it should return in the test.
sourcepub fn add_expected_http_request(
&mut self,
request: Request,
response: Response,
)
pub fn add_expected_http_request( &mut self, request: Request, response: Response, )
Adds an expected http_request
call, and the response it should return in the test.
sourcepub fn add_expected_read_data_blob_requests(
&mut self,
hash: DataBlobHash,
response: Vec<u8>,
)
pub fn add_expected_read_data_blob_requests( &mut self, hash: DataBlobHash, response: Vec<u8>, )
Adds an expected read_data_blob
call, and the response it should return in the test.
sourcepub fn add_expected_assert_data_blob_exists_requests(
&mut self,
hash: DataBlobHash,
response: Option<()>,
)
pub fn add_expected_assert_data_blob_exists_requests( &mut self, hash: DataBlobHash, response: Option<()>, )
Adds an expected assert_data_blob_exists
call, and the response it should return in the test.
sourcepub fn query_service<A: ServiceAbi + Send>(
&mut self,
application_id: ApplicationId<A>,
query: A::Query,
) -> A::QueryResponse
pub fn query_service<A: ServiceAbi + Send>( &mut self, application_id: ApplicationId<A>, query: A::Query, ) -> A::QueryResponse
Queries an application service as an oracle and returns the response.
Should only be used with queries where it is very likely that all validators will compute the same result, otherwise most block proposals will fail.
Cannot be used in fast blocks: A block using this call should be proposed by a regular owner, not a super owner.
sourcepub fn http_request(&mut self, request: Request) -> Response
pub fn http_request(&mut self, request: Request) -> Response
Makes an HTTP request
as an oracle and returns the HTTP response.
Should only be used with queries where it is very likely that all validators will receive the same response, otherwise most block proposals will fail.
Cannot be used in fast blocks: A block using this call should be proposed by a regular owner, not a super owner.
sourcepub fn assert_before(&mut self, timestamp: Timestamp)
pub fn assert_before(&mut self, timestamp: Timestamp)
Panics if the current time at block validation is >= timestamp
. Note that block
validation happens at or after the block timestamp, but isn’t necessarily the same.
Cannot be used in fast blocks: A block using this call should be proposed by a regular owner, not a super owner.
sourcepub fn read_data_blob(&mut self, hash: &DataBlobHash) -> Vec<u8> ⓘ
pub fn read_data_blob(&mut self, hash: &DataBlobHash) -> Vec<u8> ⓘ
Reads a data blob with the given hash from storage.
sourcepub fn assert_data_blob_exists(&mut self, hash: DataBlobHash)
pub fn assert_data_blob_exists(&mut self, hash: DataBlobHash)
Asserts that a blob with the given hash exists in storage.
sourcepub fn validation_round(&mut self) -> Option<u32>
pub fn validation_round(&mut self) -> Option<u32>
Returns the round in which this block was validated.
Trait Implementations§
Auto Trait Implementations§
impl<Application> Freeze for MockContractRuntime<Application>
impl<Application> !RefUnwindSafe for MockContractRuntime<Application>
impl<Application> !Send for MockContractRuntime<Application>
impl<Application> !Sync for MockContractRuntime<Application>
impl<Application> Unpin for MockContractRuntime<Application>
impl<Application> !UnwindSafe for MockContractRuntime<Application>
Blanket Implementations§
source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
source§impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
source§impl<T> FmtForward for T
impl<T> FmtForward for T
source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.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>
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 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>
T
in a tonic::Request
source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
source§impl<T> MockResults for T
impl<T> MockResults for T
§type Results = T
type Results = T
MockInstance
.source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<M, I> RuntimeMemory<&mut I> for Mwhere
M: RuntimeMemory<I>,
impl<M, I> RuntimeMemory<&mut I> for Mwhere
M: RuntimeMemory<I>,
source§fn read<'instance>(
&self,
instance: &'instance &mut I,
location: GuestPointer,
length: u32,
) -> Result<Cow<'instance, [u8]>, RuntimeError>
fn read<'instance>( &self, instance: &'instance &mut I, location: GuestPointer, length: u32, ) -> Result<Cow<'instance, [u8]>, RuntimeError>
Reads length
bytes from memory from the provided location
.
source§fn write(
&mut self,
instance: &mut &mut I,
location: GuestPointer,
bytes: &[u8],
) -> Result<(), RuntimeError>
fn write( &mut self, instance: &mut &mut I, location: GuestPointer, bytes: &[u8], ) -> Result<(), RuntimeError>
Writes the bytes
to memory at the provided location
.
source§impl<T> Tap for T
impl<T> Tap for T
source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read moresource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.