Liking cljdoc? Tell your friends :D
Clojure only.

s-exp.hirundo.grpc.service


serviceclj

(service {:keys [proto name methods]})

Creates a GrpcService from a descriptor map:

{:proto ^Descriptors$FileDescriptor ; proto file descriptor :name "MyService" ; optional service name :methods {"MethodName" {:type :unary | :server-stream | :client-stream | :bidi :handler <fn>}}}

Handler signatures:

  • :unary, :server-stream(fn [request ^StreamObserver response-observer])
  • :client-stream, :bidi(fn [^StreamObserver response-observer]) => StreamObserver

Handlers receive raw protobuf objects. Use pronto or direct Java interop to encode/decode messages within the handler.

Creates a `GrpcService` from a descriptor map:

 {:proto    ^Descriptors$FileDescriptor  ; proto file descriptor
  :name     "MyService"                 ; optional service name
  :methods  {"MethodName" {:type    :unary | :server-stream | :client-stream | :bidi
                            :handler <fn>}}}

Handler signatures:
- `:unary`, `:server-stream`  — `(fn [request ^StreamObserver response-observer])`
- `:client-stream`, `:bidi`   — `(fn [^StreamObserver response-observer]) => StreamObserver`

Handlers receive raw protobuf objects. Use pronto or direct Java interop to
encode/decode messages within the handler.
raw docstring

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