Connor Clark
0d70a6c960
Criterion benchmarks ( #50 )
...
* begin bench executable
* tweak benchmark, fork serverLoop for interruptibility
* client streaming benchmarks
* add server streaming handler
* server streaming benchmark
* bidi streaming benchmark
* cleanup, create benchmark html
* improve error messages
* benchmarks: add bounds, remove -g, add -O2
* eliminate explicit sleep at shutdown
* bump protobuf-wire version
* remove superfluous parens, remove benchmarks.html
2016-07-26 15:48:25 -07:00
Joel Stanley
c1fa7956c7
"Hellos" C++/Haskell programs for exercising interop for streaming modes ( #49 )
...
* Hellos example: skeleton and server-streaming mode use
* Catch IO exceptions in dispatchLoop
* Distinguish decoding errors from other errors; convert error calls to explicit throws of GRPCIOErrors
* instance Exception GRPCIOError
* Add error checks and error messages to hellos cpp client
* Change fixed32 to uint32
* Add prelim hellos-client, hellos-server executables
* Hellos cpp example: add client-streaming mode use
* In unregistered high-level server, aggressively catch all exceptions raised in
handlers and promote then to a new GRPCIOError constructor.
* Hellos hs example: add client-streaming mode use
* Hellos cpp example: add simple bidi mode use
* Hellos hs example: add simple bidi mode use
* wibbles
* Add GRPCIOErrorEq newtype wrapper w/ Eq instance for testing purposes
* Refactoring wibbles
* README wibbles
* DCR
* Fix rebase derp
* Remove libdl dep, update protobuf github link in hellos cpp Makefile.
* Use Data.Coerce.coerce for GRPCIOErrorEq; remove warnings
* Report expected/got errors in Haskell hellos client/server
* Report expected/got errors in cpp hellos client/server
* Add some instructions for running the hellos client/server
* Fix warnings
* Rename logShow to logMsg and use stderr for logging
* Tweak compliation parameters for hellos hs executables; increase constant workload
* Remove unnecessary type annotation
* Simplify handleError in dispatchLoop
* Remove GRPCIOErrorEq and coerce use; change GRPCIOHandlerException type
2016-07-26 15:21:35 -07:00
Connor Clark
b3d0b8a4a7
high-level server: add initial metadata to options ( #53 )
2016-07-26 13:16:44 -07:00
Connor Clark
99e6f0652d
fix up handler type, tweak ServerCall record names ( #42 )
...
* fix up handler type, tweak ServerCall record names
* remove ' from handler types, use LL suffix for low-level handlers
* fix all build warnings
2016-07-14 16:33:56 -07:00
Connor Clark
e4a28e9e4b
High-level unregistered concurrent interface ( #41 )
...
* remove parent ptr from unregistered calls -- unneeded
* begin unregistered high level server loop
* undo changes to highlevel server, add mkConfig for unregistered server
* move call CQ create/destroy into call create/destroy
* async normal call function
* preliminary unregistered server loop for non-streaming methods
* working unregistered highlevel example
* loop counters for benchmarking
* changes for benchmarking, add ruby example server for benchmarking
* async version of withCall, refactor unregistered server loop to handle all method types
* unregistered client streaming
* add remaining streaming modes
* unregistered server streaming test
* unregistered streaming tests
* add error logging
* fix bug in add example
* remove old TODOs
* fix bug: don't assume slices are null-terminated
* add TODO re: unregistered client streaming functions
2016-07-14 09:53:28 -07:00