pub trait AsyncReadBuffer: Downcast {
// Required methods
fn schedule_pixels_transfer(
&mut self,
framebuffer: &(dyn FrameBuffer + 'static),
color_buffer_index: u32,
rect: Option<Rect<i32>>,
) -> Result<(), FrameworkError>;
fn is_request_running(&self) -> bool;
fn try_read(&mut self) -> Option<Vec<u8>>;
}