<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "Event",
  "identifier" : "/documentation/Event/SocketError/timeout",
  "metadataVersion" : "0.1.0",
  "role" : "Case",
  "symbol" : {
    "kind" : "Case",
    "modules" : [
      "Event"
    ],
    "preciseIdentifier" : "s:5Event11SocketErrorO7timeoutyA2CmF"
  },
  "title" : "SocketError.timeout"
}
-->

# SocketError.timeout

A `timeout:` parameter elapsed before the operation completed.

```
case timeout
```

## Discussion

Emitted by [`connect(to:loop:timeout:)`](/documentation/Event/Socket/connect(to:loop:timeout:)),
[`read(maxBytes:timeout:)`](/documentation/Event/Socket/read(maxBytes:timeout:)), and [`write(_:timeout:)`](/documentation/Event/Socket/write(_:timeout:)) when their
optional `timeout` argument is non-`nil` and the kernel did not satisfy the
readiness condition before the deadline. The socket itself remains usable for
retry; partial writes are not consumed (the `write(2)` syscall is never issued
when the timeout fires before write-readiness).