unclechu's fork of gRPC-haskell
Go to file
Joel Stanley 82070a9b16
Use test-grpc-haskell as the default nix-shell entry
...as I believe this will be the most common reason to enter the `nix-shell` for
the project.
2021-06-29 08:53:45 -05: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 Add 1 to malloc'd buffer size for null terminator (#128) 2021-06-22 14:58:44 -07:00
examples Upgrade gRPC C library (#117) 2021-03-08 13:44:36 -08:00
nix Upgrade gRPC C library (#117) 2021-03-08 13:44:36 -08:00
src/Network/GRPC grpc-haskell-0.2.0.0: Upgrade to proto3-wire-1.2.0, proto3-suite-0.4.2.0 (#110) 2020-11-16 11:43:28 -06:00
tests Expose ClientCall in ClientReaderHandler and ClientRWHandler (#87) 2019-08-22 10:53:41 -05:00
.gitignore grpc-haskell-0.2.0.0: Upgrade to proto3-wire-1.2.0, proto3-suite-0.4.2.0 (#110) 2020-11-16 11:43:28 -06:00
default.nix Switch from Travis CI to GitHub Actions (#127) 2021-06-10 15:38:15 -07:00
grpc-haskell.cabal Remove unnecessary self-dependency 2021-06-29 08:50:04 -05:00
LICENSE Fix author/maintainer/copyright in grpc-haskell.cabal (#82) 2016-12-14 12:55:56 -06:00
nixpkgs.nix Upgrade gRPC C library (#117) 2021-03-08 13:44:36 -08:00
README.md Remove support for stack (#116) 2021-01-13 15:56:23 -08:00
release.nix Fix test-grpc-haskell shell 2021-06-29 08:52:54 -05:00
Setup.hs Initial commit. 2015-02-27 18:14:32 +01:00
shell.nix Use test-grpc-haskell as the default nix-shell entry 2021-06-29 08:53:45 -05:00
stack.yaml Fix stack.yaml format to support stack 2.0 configuration (#93) 2019-09-18 08:25:00 -05:00

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.2.0. 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.