You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: uds.rs
    path of file: ./repos/shadowsocks-rust/crates/shadowsocks/src/net/sys/unix
    
    the code of the file until where you have to start completion: //! Android specific features

use std::{
    io::{self, ErrorKind},
    os::unix::io::RawFd,
    path::Path,
    pin::Pin,
    task::{Context, Poll},
};

use futures::{future, ready};
use pin_project::pin_project;
use sendfd::{RecvWithFd, SendWithFd};
use tokio::{
    io::{AsyncRead, AsyncWrite, Interest, ReadBuf},
    net::{unix::SocketAddr, UnixListener as Toki
    
    fn poll_send_with_fd(&self, cx: &mut Context, buf: &[u8], fds: &[RawFd]) -> Poll<io::Result<usize>> {
        loop {
            ready!(self.io.poll_write_ready(cx))?;

            match self.io.try_io(Interest::WRITABLE, || self.io.send_with_fd(buf, fds)) {
                // self.io.poll_write_ready indicates that writable event have been received by tokio,
                // so it is not a common case that sendto returns EAGAIN.
                Err(ref err) if err.kind() == ErrorKind::WouldBlock => {}
                x => return Poll::Ready(x),
            }
        }
    }