Ballerina gRPC Library
The gRPC library is one of the standard library modules of the Ballerina language.
This provides support for the gRPC messaging protocol. gRPC is an inter-process communication technology that allows you to connect, invoke, and operate distributed, heterogeneous applications as easily as making a local function call. The gRPC protocol is layered over HTTP/2 and uses Protocol Buffers for marshaling/unmarshaling messages. This makes gRPC highly efficient on wire and a simple service definition framework.
This Library supports the messaging patterns below. For more information on the supported operations, go to the grpc
module.
- Simple RPC (Unary RPC)
- Server streaming RPC
- Client streaming RPC
- Bidirectional Streaming RPC
For example demonstrations of the usage, go to Ballerina By Examples.
Issues and Projects
Issues and Projects tabs are disabled for this repository as this is part of the Ballerina Standard Library. To report bugs, request new features, start new discussions, view project boards, etc. please visit Ballerina Standard Library parent repository.
This repository only contains the source code for the module.
Building from the Source
Setting Up the Prerequisites
-
Download and install Java SE Development Kit (JDK) version 11 (from one of the following locations).
Building the Source
Execute the commands below to build from source.
-
To build the library:
./gradlew clean build
-
To run the integration tests:
./gradlew clean test
-
To build the module without the tests:
./gradlew clean build -x test
-
To debug the Ballerina implementation against the native implementation:
./gradlew clean build -Pdebug=<port> ./gradlew clean test -Pdebug=<port>
-
To debug the Ballerina implementation against the Ballerina language:
./gradlew clean build -PbalJavaDebug=<port> ./gradlew clean test -PbalJavaDebug=<port>
-
Publish the generated artifacts to the local Ballerina central repository:
./gradlew clean build -PpublishToLocalCentral=true
-
Publish the generated artifacts to the Ballerina central repository:
./gradlew clean build -PpublishToCentral=true
Contributing to Ballerina
As an open source project, Ballerina welcomes contributions from the community.
For more information, go to the contribution guidelines.
Code of Conduct
All contributors are encouraged to read the Ballerina Code of Conduct.
Useful Links
- Chat live with us via our Slack channel.
- Post all technical questions on Stack Overflow with the #ballerina tag.
- View the Ballerina performance test results.