Reactive Distributed communication framework for .net, kotlin, js, c++. Inspired by Rider IDE.
Firstly decide which languages will be involved in protocol. It may be Kotlin and C#, Rider uses them for instance. Or C++ only, who knows. After that prepare the environment and build needed assemblies. Choose separate or common build based on needs.
- .NET Framework >= 3.5
- cd rd-net
- gradle :rd-net:build -x test
- Gradle 6.0
- Kotlin 1.3.50+
- gradle :build -x test
- Visual Studio 2015+ or
- clang 6.0+
- cd rd-cpp
- gradle :rd-cpp:build -x test
All above ones.
- gradle build
Second step(Generation models)
Further generate models in each language you have chosen. For this purpose project :rd-gen must be built.
See https://www.jetbrains.com/help/resharper/sdk/Products/Rider.html#protocol-extension for more details.
More examples of models
See com.jetbrains.rd.generator.test.cases.generator.demo.DemoModel and com.jetbrains.rd.generator.test.cases.generator.example.ExampleModel
Last step(Connection the sides)
Generally it depends on the architecture. But in standard Client-Server architecture through localhost connection framework's classes are suitable.
JetBrains.Rd.Impl.Server and *.Client respectively
com.jetbrains.rd.framework.Server and *.Client respectively
rd::SocketWire::Server and *.Client respectively
Examples of connections
Look at cross tests
- com.jetbrains.rd.framework.test.cross at Kotlin side
- Test.RdCross at C# side
- rd::cross at C++ side