SocketServer
Service contract for servers that accept socket connections.
SocketServer exposes the bound server address and a long-running run loop that hands each accepted connection to a handler as a Socket.Socket. The module also defines TCP and Unix socket address models plus the server-level errors reported while opening or running a server. Platform layers provide concrete implementations of this service.
Errors
SocketServerError
Signature
declare class SocketServerError extends YieldableError<this> & { readonly _tag: "SocketServerError";} & Readonly<{ readonly reason: SocketServerErrorReason;}> { constructor(props: { readonly reason: SocketServerErrorReason; }); readonly "@effect/platform/SocketServer/SocketServerError": "@effect/platform/SocketServer/SocketServerError"; message: string;}SocketServerErrorReason type
Union of socket server error reasons.
Signature
type SocketServerErrorReason = SocketServerOpenError | SocketServerUnknownError;SocketServerOpenError
Error reason for failures that occur while opening a socket server.
Signature
declare class SocketServerOpenError extends YieldableError<this> & { readonly _tag: "SocketServerOpenError";} & Readonly<{ readonly cause: unknown;}> { constructor(args: { readonly cause: unknown; }); message: string;}SocketServerUnknownError
Error reason for uncategorized socket server failures.
Signature
declare class SocketServerUnknownError extends YieldableError<this> & { readonly _tag: "SocketServerUnknownError";} & Readonly<{ readonly cause: unknown;}> { constructor(args: { readonly cause: unknown; }); message: string;}Models
Socket server address, either a TCP host and port or a Unix socket path.
Signature
type Address = UnixAddress | TcpAddress;TcpAddress interface
TCP socket server address with hostname and port.
Signature
interface TcpAddress { readonly _tag: "TcpAddress"; readonly hostname: string; readonly port: number;}UnixAddress interface
Unix socket server address identified by a filesystem path.
Signature
interface UnixAddress { readonly _tag: "UnixAddress"; readonly path: string;}Services
SocketServer
Context service for a socket server, exposing its bound address and a run loop that handles each accepted Socket.
Signature
declare class SocketServer extends Shape< "@effect/platform/SocketServer", { readonly address: Address; readonly run: <R, E, _>( handler: (socket: Socket) => Effect<_, E, R>, ) => Effect<never, SocketServerError, R>; }, this> { constructor(_: never);}Type IDs
ErrorTypeId
Runtime type identifier attached to SocketServerError values.
Signature
declare const ErrorTypeId: ErrorTypeId;ErrorTypeId type
Type-level identifier used to mark SocketServerError values.
Signature
type ErrorTypeId = "@effect/platform/SocketServer/SocketServerError";
Tagged socket server error that wraps a server error reason and exposes its cause.