← Back

Module tcp

struct TcpOptions

TCP connection options

Source: tcp.joule:9

fn default() -> Self

Source: tcp.joule:21

struct TcpStream

TCP stream for bidirectional communication

Source: tcp.joule:36

fn connect<A: ToSocketAddrs>(addr: A) -> Result<Self, TcpError>

Source: tcp.joule:46

fn connect_timeout<A: ToSocketAddrs>(

Source: tcp.joule:52

fn connect_addr(addr: &SocketAddr, timeout: Option<Duration>) -> Result<Self, TcpError>

Source: tcp.joule:68

fn socket(domain: i32, sock_type: i32, protocol: i32) -> i32;

Source: tcp.joule:73

fn connect(fd: i32, addr: *const u8, len: u32) -> i32;

Source: tcp.joule:74

fn fcntl(fd: i32, cmd: i32, arg: i32) -> i32;

Source: tcp.joule:75

fn WSAStartup(version: u16, data: *mut u8) -> i32;

Source: tcp.joule:125

fn socket(af: i32, sock_type: i32, protocol: i32) -> usize;

Source: tcp.joule:126

fn connect(s: usize, name: *const u8, namelen: i32) -> i32;

Source: tcp.joule:127

fn ioctlsocket(s: usize, cmd: i32, argp: *mut u32) -> i32;

Source: tcp.joule:128

fn closesocket(s: usize) -> i32;

Source: tcp.joule:129

fn WSAGetLastError() -> i32;

Source: tcp.joule:130

const INVALID_SOCKET: usize

Source: tcp.joule:146

fn local_addr(&self) -> &SocketAddr

Get local address

Source: tcp.joule:188

fn peer_addr(&self) -> &SocketAddr

Get peer address

Source: tcp.joule:193

fn set_nodelay(&mut self, nodelay: bool) -> Result<(), TcpError>

Source: tcp.joule:199

fn set_keepalive(&mut self, keepalive: Option<Duration>) -> Result<(), TcpError>

Source: tcp.joule:207

fn set_read_timeout(&mut self, timeout: Option<Duration>) -> Result<(), TcpError>

Set read timeout

Source: tcp.joule:227

fn set_write_timeout(&mut self, timeout: Option<Duration>) -> Result<(), TcpError>

Set write timeout

Source: tcp.joule:236

fn shutdown(&self, how: Shutdown) -> Result<(), TcpError>

Shutdown read/write or both

Source: tcp.joule:245

fn shutdown(fd: i32, how: i32) -> i32;

Source: tcp.joule:247

fn as_raw_fd(&self) -> i32

Get underlying file descriptor

Source: tcp.joule:265

fn buffered_reader(&self) -> BufReader<&TcpStream>

Create buffered reader

Source: tcp.joule:270

fn buffered_writer(&self) -> BufWriter<&TcpStream>

Create buffered writer

Source: tcp.joule:275

fn try_clone(&self) -> Result<Self, TcpError>

Try to clone the stream (creates new file descriptor)

Source: tcp.joule:280

fn dup(fd: i32) -> i32;

Source: tcp.joule:282

fn read(&mut self, buf: &mut [u8]) -> Result<usize, std::io::Error>

Source: tcp.joule:301

fn recv(fd: i32, buf: *mut u8, len: usize, flags: i32) -> isize;

Source: tcp.joule:303

fn write(&mut self, buf: &[u8]) -> Result<usize, std::io::Error>

Source: tcp.joule:317

fn send(fd: i32, buf: *const u8, len: usize, flags: i32) -> isize;

Source: tcp.joule:319

fn flush(&mut self) -> Result<(), std::io::Error>

Source: tcp.joule:330

fn drop(&mut self)

Source: tcp.joule:337

fn close(fd: i32) -> i32;

Source: tcp.joule:339

struct TcpListener

TCP listener for accepting connections

Source: tcp.joule:350

fn bind<A: ToSocketAddrs>(addr: A) -> Result<Self, TcpError>

Source: tcp.joule:359

fn bind_with_options<A: ToSocketAddrs>(

Source: tcp.joule:365

fn bind_addr(addr: &SocketAddr, options: &TcpOptions) -> Result<Self, TcpError>

Source: tcp.joule:381

fn socket(domain: i32, sock_type: i32, protocol: i32) -> i32;

Source: tcp.joule:383

fn bind(fd: i32, addr: *const u8, len: u32) -> i32;

Source: tcp.joule:384

fn listen(fd: i32, backlog: i32) -> i32;

Source: tcp.joule:385

fn accept(&self) -> Result<(TcpStream, SocketAddr), TcpError>

Source: tcp.joule:440

fn accept(fd: i32, addr: *mut u8, len: *mut u32) -> i32;

Source: tcp.joule:442

fn local_addr(&self) -> &SocketAddr

Get local address

Source: tcp.joule:467

fn set_nonblocking(&self, nonblocking: bool) -> Result<(), TcpError>

Set non-blocking mode

Source: tcp.joule:472

fn as_raw_fd(&self) -> i32

Get underlying file descriptor

Source: tcp.joule:477

fn incoming(&self) -> Incoming

Iterator over incoming connections

Source: tcp.joule:482

fn drop(&mut self)

Source: tcp.joule:488

struct Incoming

Iterator over incoming connections

Source: tcp.joule:495

fn next(&mut self) -> Option<Self::Item>

Source: tcp.joule:502

enum Shutdown

Shutdown mode

Source: tcp.joule:512

enum TcpError

Source: tcp.joule:523

fn from(e: std::io::Error) -> Self

Source: tcp.joule:538

fn set_socket_opt(fd: i32, level: i32, opt: i32, value: i32) -> Result<(), TcpError>

Source: tcp.joule:547

fn setsockopt(fd: i32, level: i32, opt: i32, val: *const i32, len: u32) -> i32;

Source: tcp.joule:549

fn set_socket_timeout(fd: i32, opt: i32, dur: Duration) -> Result<(), TcpError>

Source: tcp.joule:560

fn setsockopt(fd: i32, level: i32, opt: i32, val: *const u8, len: u32) -> i32;

Source: tcp.joule:562

struct Timeval

Source: tcp.joule:566

fn set_nonblocking(fd: i32, nonblocking: bool) -> Result<(), TcpError>

Source: tcp.joule:593

fn fcntl(fd: i32, cmd: i32, arg: i32) -> i32;

Source: tcp.joule:595

fn get_local_addr(fd: i32) -> Result<SocketAddr, TcpError>

Source: tcp.joule:617

fn getsockname(fd: i32, addr: *mut u8, len: *mut u32) -> i32;

Source: tcp.joule:619

fn poll_write(fd: i32, timeout: Duration) -> bool

Source: tcp.joule:633

fn poll(fds: *mut PollFd, nfds: u64, timeout: i32) -> i32;

Source: tcp.joule:635

struct PollFd

Source: tcp.joule:639