Add enhanced support for long running callback handlers. Add additional grpc options #13
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR is linked to tsloughter/grpcbox#50
The changes originate from use cases encountered at helium and in integrating this lib into the helium stack. That said I believe the changes are general purpose enough to become part of the mainline branch
Change Summary
Updated service behaviours definitions, added {continue, grpcbox_stream:t()} response to streamed behaviours. Adds init/1 and handle_info/2 callbacks.
Support generation of PB files to use Maps or Props rather than enforcing Maps only
Add support for additional overrides:
proto_files: Allows a list of protos to be specified and used for PB and service behaviour generation, rather than defaulting to all protos in the directory specified by the "protos" option. If proto_files is not specified then defaults to using "protos"
create_services: boolean flag to determine whether or not to generate service behaviours.
beam_out_dir: allows a directory to be specified to where the beams including PBs and service behaviours will be outputted
keep_beams: the plugin builds the beams for the various proto modules and outputs to the 'ebin_dir'.
If this flag is set to true, these beams will be deleted after generation of the services. This is useful for example if the application wishes to generate erl files only and build all as part of the application build process