unclechu's fork of gRPC-haskell
Go to file
Viacheslav Lotsmanov 5df3fdd213
Refactor use of Haskell Nix lib functions
2022-07-30 05:33:48 +03:00
.github/workflows Switch from Travis CI to GitHub Actions (#127) 2021-06-10 15:38:15 -07:00
bench Client helpers, re-exports, and fixups (#70) 2018-10-14 17:52:59 -05:00
bin Upgrade nix grpc version to 1.0.1 + fix tests (#86) 2016-12-20 15:57:38 -06:00
core Fix C API to make it work with gRPC 1.46.3 2022-07-28 05:04:49 +03:00
examples Plumb the `MaxMetadataSize` parameter through to the server (#134) 2022-02-25 16:23:22 -06:00
nix Pin overridden Haskell dependencies 2022-07-29 03:33:55 +03:00
src/Network/GRPC Plumb the `MaxMetadataSize` parameter through to the server (#134) 2022-02-25 16:23:22 -06:00
tests Plumb the `MaxMetadataSize` parameter through to the server (#134) 2022-02-25 16:23:22 -06:00
.gitignore Add missing `pipes` and `tasty-hunit` for the nix-shell 2022-07-29 14:27:54 +03:00
LICENSE Fix author/maintainer/copyright in grpc-haskell.cabal (#82) 2016-12-14 12:55:56 -06:00
README.md Update gRPC version mentioned in the README 2022-07-30 05:27:27 +03:00
Setup.hs Initial commit. 2015-02-27 18:14:32 +01:00
default.nix Switch from Travis CI to GitHub Actions (#127) 2021-06-10 15:38:15 -07:00
grpc-haskell.cabal Update Nix setup to work with latest release-22.05 nixpkgs pin 2022-07-28 04:17:53 +03:00
nixpkgs.nix Update Nix setup to work with latest release-22.05 nixpkgs pin 2022-07-28 04:17:53 +03:00
release.nix Refactor use of Haskell Nix lib functions 2022-07-30 05:33:48 +03:00
shell.nix Port grpc-haskell[-core] to ghc-8.6 and modern tasty. (#77) 2019-03-25 16:52:04 -07:00
stack.yaml Update Stack build to work with newer versions of dependencies 2022-07-28 23:22:14 +03:00
stack.yaml.lock Add stack.yaml.lock file 2022-07-28 23:56:23 +03:00

README.md

Attribution

This library is a fork of https://github.com/aloiscochard/grpc-haskell that we have extended and released under the same LICENSE

Installation

The current version of this library requires gRPC version 1.46.3. Newer versions may work but have not been tested.

Usage

There is a tutorial here

Building and testing

nix-build release.nix -A grpc-haskell will build and test the whole thing and put the completed package into the nix store. nix-shell can be used to give you a development environment where you can use cabal for development and testing:

$ nix-shell
[nix-shell]$ cabal configure --enable-tests && cabal build && cabal test

Using the Library

You must compile with -threaded, because we rely on being able to execute Haskell while blocking on foreign calls to the gRPC library. If not using code generation, the recommended place to start is in the Network.GRPC.HighLevel.Server.Unregistered module, where serverLoop provides a handler loop.