1
0
Fork 0
forked from wry/wry

autocommit 2022-02-06 23:54:46 CET

This commit is contained in:
Julian Orth 2022-02-06 23:54:46 +01:00
parent 96038f49bc
commit 7d531257ed
51 changed files with 290 additions and 276 deletions

View file

@ -1,11 +1,11 @@
use crate::async_engine::{AsyncFd, Timeout};
use crate::utils::buffd::{BufFdError, BUF_SIZE, CMSG_BUF_SIZE};
use futures::future::Fuse;
use futures::{select, FutureExt};
use std::collections::VecDeque;
use std::mem::MaybeUninit;
use std::rc::Rc;
use std::{mem, slice};
use futures::future::Fuse;
use uapi::{c, Errno, OwnedFd};
pub(super) const OUT_BUF_SIZE: usize = 2 * BUF_SIZE;
@ -90,7 +90,11 @@ impl BufFdOut {
}
}
pub async fn flush(&mut self, buf: &mut OutBuffer, timeout: &mut Option<Fuse<Timeout>>) -> Result<(), BufFdError> {
pub async fn flush(
&mut self,
buf: &mut OutBuffer,
timeout: &mut Option<Fuse<Timeout>>,
) -> Result<(), BufFdError> {
while buf.read_pos < buf.write_pos {
if self.flush_sync(buf)? {
self.fd.writable().await?;

View file

@ -73,7 +73,8 @@ impl<'a> MsgFormatter<'a> {
f(&mut fmt);
let len = self.buf.write_pos - pos - 4;
let none = [MaybeUninit::new(0); 4];
self.buf.write(&none[..self.buf.write_pos.wrapping_neg() & 3]);
self.buf
.write(&none[..self.buf.write_pos.wrapping_neg() & 3]);
len as u32
};
unsafe {
@ -86,7 +87,8 @@ impl<'a> MsgFormatter<'a> {
self.uint(mem::size_of_val(t) as u32);
self.buf.write(uapi::as_maybe_uninit_bytes(t));
let none = [MaybeUninit::new(0); 4];
self.buf.write(&none[..self.buf.write_pos.wrapping_neg() & 3]);
self.buf
.write(&none[..self.buf.write_pos.wrapping_neg() & 3]);
self
}

View file

@ -1,10 +1,10 @@
use std::{mem, ptr};
use std::rc::Rc;
use crate::fixed::Fixed;
use crate::globals::GlobalName;
use crate::object::ObjectId;
use crate::utils::buffd::BufFdIn;
use bstr::{BStr, ByteSlice};
use std::rc::Rc;
use std::{mem, ptr};
use thiserror::Error;
use uapi::{OwnedFd, Pod};
@ -76,7 +76,7 @@ impl<'a, 'b> MsgParser<'a, 'b> {
if s.len() == 0 {
return Err(MsgParserError::EmptyString);
}
Ok(s[..s.len()-1].as_bstr())
Ok(s[..s.len() - 1].as_bstr())
}
pub fn str(&mut self) -> Result<&'b str, MsgParserError> {
@ -120,9 +120,7 @@ impl<'a, 'b> MsgParser<'a, 'b> {
if array.len() > mem::size_of::<T>() {
return Err(MsgParserError::BinaryArrayTooLarge);
}
unsafe {
Ok(ptr::read_unaligned(array.as_ptr() as _))
}
unsafe { Ok(ptr::read_unaligned(array.as_ptr() as _)) }
}
pub fn binary_array<T: Pod>(&mut self) -> Result<&'b [T], MsgParserError> {
@ -137,7 +135,10 @@ impl<'a, 'b> MsgParser<'a, 'b> {
return Err(MsgParserError::BinaryArraySize);
}
unsafe {
Ok(std::slice::from_raw_parts(array.as_ptr() as _, array.len() / mem::size_of::<T>()))
Ok(std::slice::from_raw_parts(
array.as_ptr() as _,
array.len() / mem::size_of::<T>(),
))
}
}
}