Liking cljdoc? Tell your friends :D

clj-grpc.transport

Netty transport selection: epoll where available, NIO everywhere else, Unix domain sockets on epoll only.

Non-shaded Netty 4.2, whose event-loop API is MultiThreadIoEventLoopGroup over an IoHandler factory — the 4.1-era EpollEventLoopGroup constructors are deprecated shells around the same thing.

No Netty class appears in this namespace (or in server/client): everything Netty lives in clj-grpc.impl.netty, reached through requiring-resolve at first construction. That is the native-image contract — Clojure initializes referenced classes when a namespace loads, which under --initialize-at-build-time is image build time, where Netty's own metadata (correctly) forbids it. Deferring the load to first use makes it run time in both worlds. lazy_netty_test pins the contract.

Netty transport selection: epoll where available, NIO everywhere else, Unix
domain sockets on epoll only.

Non-shaded Netty 4.2, whose event-loop API is MultiThreadIoEventLoopGroup
over an IoHandler factory — the 4.1-era EpollEventLoopGroup constructors are
deprecated shells around the same thing.

No Netty class appears in this namespace (or in server/client): everything
Netty lives in clj-grpc.impl.netty, reached through requiring-resolve at
first construction. That is the native-image contract — Clojure initializes
referenced classes when a namespace loads, which under
--initialize-at-build-time is image build time, where Netty's own metadata
(correctly) forbids it. Deferring the load to first use makes it run time in
both worlds. lazy_netty_test pins the contract.
raw docstring

->addressclj

(->address addr)

Coerce the :address / target forms to a SocketAddress: an existing SocketAddress passes through, {:unix path} and "unix:///path" become domain socket addresses, an integer is a port on all interfaces.

Coerce the :address / target forms to a SocketAddress: an existing
SocketAddress passes through, {:unix path} and "unix:///path" become domain
socket addresses, an integer is a port on all interfaces.
sourceraw docstring

client-channel-typeclj

(client-channel-type transport unix?)
source

epoll-available?clj

(epoll-available?)
source

event-loop-groupclj

(event-loop-group transport threads)

An event loop group for the transport, on daemon threads — see clj-grpc.impl.netty/event-loop-group for why daemon is non-negotiable.

An event loop group for the transport, on daemon threads — see
clj-grpc.impl.netty/event-loop-group for why daemon is non-negotiable.
sourceraw docstring

resolve-transportclj

(resolve-transport transport)

Turn the :transport opt into a concrete choice. :auto prefers epoll and falls back to :nio; asking for :epoll where it is unavailable is an error with Netty's own diagnosis as the cause.

Turn the :transport opt into a concrete choice. :auto prefers epoll and
falls back to :nio; asking for :epoll where it is unavailable is an error
with Netty's own diagnosis as the cause.
sourceraw docstring

server-channel-typeclj

(server-channel-type transport unix?)
source

unixclj

(unix path)

A Unix domain socket address. Serving or dialing one requires the epoll transport; the server/client builders validate that eagerly.

A Unix domain socket address. Serving or dialing one requires the epoll
transport; the server/client builders validate that eagerly.
sourceraw docstring

unix-address?clj

(unix-address? addr)
source

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close