Skip to main content

EvalContextPrivExt

Trait EvalContextPrivExt 

Source
trait EvalContextPrivExt<'tcx>: MiriInterpCxExt<'tcx> {
    // Provided methods
    fn virtual_socket_write(
        &mut self,
        socket: FileDescriptionRef<VirtualSocket>,
        ptr: Pointer,
        len: usize,
        is_non_block: bool,
        finish: DynMachineCallback<'tcx, Result<usize, IoError>>,
    ) -> InterpResult<'tcx> { ... }
    fn virtual_socket_read(
        &mut self,
        socket: FileDescriptionRef<VirtualSocket>,
        ptr: Pointer,
        len: usize,
        is_non_block: bool,
        finish: DynMachineCallback<'tcx, Result<usize, IoError>>,
    ) -> InterpResult<'tcx> { ... }
}

Provided Methods§

Source

fn virtual_socket_write( &mut self, socket: FileDescriptionRef<VirtualSocket>, ptr: Pointer, len: usize, is_non_block: bool, finish: DynMachineCallback<'tcx, Result<usize, IoError>>, ) -> InterpResult<'tcx>

Attempt two write len bytes from the buffer pointed to by ptr into the virtual socket socket. is_non_block specifies whether the operation should be performed as if the socket was non-blocking. After a successful write, finish is called with the amount of bytes written.

Source

fn virtual_socket_read( &mut self, socket: FileDescriptionRef<VirtualSocket>, ptr: Pointer, len: usize, is_non_block: bool, finish: DynMachineCallback<'tcx, Result<usize, IoError>>, ) -> InterpResult<'tcx>

Attempt to read len bytes from the virtual socket socket into the buffer pointed to by ptr. is_non_block specifies whether the operation should be performed as if the socket was non-blocking. After a successful read, finish is called with the amount of bytes read.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<'tcx> EvalContextPrivExt<'tcx> for MiriInterpCx<'tcx>