docs / stdlib / io / net

Stdlib index
  1. Overview
  1. Captured-borrow migration worklist (3.3.3)
  2. Owned-bind migration worklist (8.2.7)
  3. Return-side title audit — the ride-through enumeration
  4. stdlib ownership audit
  5. stdlib ownership dispositions (plan 1.3.1 / 4.3.1)

codec

  1. Base64

codec / csv

  1. Csv

codec / json

  1. Json

collection

  1. ArrayList
  2. BPlusTree
  3. Cache
  4. Collectors
  5. HashMap
  6. HashSet
  7. Heap
  8. ImmutableList
  9. ImmutableMap
  10. ImmutableSet
  11. LinkedList
  12. RedBlackTree
  13. Sort

collection / ltm

  1. LtmBPlusTree

concurrent

  1. AtomicInt32
  2. AtomicInt64
  3. Channel
  4. FiberLocal
  5. Lock
  6. Mutex
  7. RwLock
  8. Semaphore
  9. Tasks

error

  1. Exception
  2. NoOptionalValueException
  3. RecoverableException
  4. Throwable
  5. UnrecoverableException

gfx

  1. Sampler
  2. Texture2D

hash

  1. Blake3
  2. DefaultHasher
  3. Hash
  4. MD5
  5. Sha1
  6. Sha256
  7. SipHash
  8. XXHash3

ifx

  1. BackendRegistry
  2. Window

io

  1. Buffer

io / file

  1. File
  2. FileInfo
  3. FileReader
  4. FileWriter
  5. Path
  6. Watcher

io / net

  1. IpAddress
  2. Server
  3. ServerBuilder
  4. SocketAddress
  5. TcpListener
  6. TcpStream
  7. UdpSocket

io / net / dns

  1. Dns

io / net / tls

  1. TlsConnection
  2. TlsListener

io / net / uri

  1. Uri
  2. UriBuilder

lang

  1. Guid
  2. Math
  3. Optional
  4. Pair
  5. Slice
  6. String
  7. StringBuilder

lang / stream

  1. ArrayStream
  2. Stream

math

  1. Camera
  2. Color
  3. DType
  4. Ray
  5. Rotation
  6. Tensor
  7. Transform

math / fft

  1. Fft

math / linalg

  1. LinAlg

math / npio

  1. Npy

math / poly

  1. Poly

math / random

  1. Generator

math / stats

  1. Stats

nucleo

  1. Columns — the Arrow-laid-out substrate
  2. Fused tensor expressions — Fuse
  3. Table — the lazy, typed dataframe
  4. Tape — define-by-run autograd
  5. Transform intrinsics — Grad, Vmap, Jit

process

  1. Command
  2. Process

reflect

  1. Class

search / distance

  1. Distance

search / fuzzy

  1. Matcher

search / ngram

  1. Index

session

  1. PackageInstallException
  2. Packages

time

  1. Clock
  2. DateTimeFormatter
  3. Duration
  4. Instant
  5. LocalDate
  6. LocalDateTime
  7. LocalTime
  8. Period
  9. ZonedDateTime
  10. ZoneId
  11. ZoneOffset

wire

  1. Compressor
  2. Decompressor
  3. Encoder
  4. Schema
  5. SchemaEncoder

xpu

  1. Device
  2. KernelBuffer
  3. KernelStream

xpu / mesh

  1. MeshSimplifier

TcpListener

cajeta.io.net.TcpListener — a passive TCP listening socket: bind + listen plus a blocking accept that returns one accepted connection as a TcpStream. acceptAsync is the fiber-parking twin: it parks the calling fiber (not the carrier thread) on the listening socket until a connection is pending. The listener exposes its descriptor as the public fd field (-1 once closed).

IpAddress lo #= IpAddress.loopbackV4();
SocketAddress bindAddr #= SocketAddress.of(#lo, 0);
TcpListener listener #= TcpListener.bind(bindAddr);
int32 port = listener.boundPort();   // kernel-assigned ephemeral port
TcpStream conn #= listener.accept();  // blocks until a client connects
conn.close();
listener.close();

Methods

Signature
static #TcpListener bind(SocketAddress addr)Bind a fresh TCP listening socket to addr and start listening with the default backlog (128)
#TcpStream accept()Block until a client connects, then return the accepted connection
int32 acceptFd()The fd-level half of accept: block for one connection and return its raw descriptor (>= 0), or throw on failure
#TcpStream acceptAsync()Async accept — park the fiber (not the carrier) until a connection is pending; errors raise the mapped NetException subtype
int32 boundPort()The kernel-assigned local port (resolves the ephemeral port for a :0 bind)
#SocketAddress localAddress()The bound local endpoint; currently a placeholder that returns the IPv4 wildcard 0.0.0.0:0 — use boundPort for the real port
void close()Close the listening socket; idempotent

⚑ = @EntryPoint

See also

Source: docs/stdlib/io/net/TcpListener.md · 1 min read · 239 words