Skip to content

epeshk/rd

 
 

Repository files navigation

RD

Reactive Distributed communication framework for .net, kotlin, js, c++. Inspired by Rider IDE.

First Step(Build)

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.

Separate build

C#

Requirements

  • .NET Framework >= 3.5

Instruction

  • cd rd-net
  • ./build.cmd

or

  • gradle :rd-net:build -x test

Kotlin

Requirements

  • Gradle 4.8
  • Kotlin 1.3.50+

Instruction

  • gradle :build -x test

C++

Requirements

  • git
  • cmake
  • Visual Studio 2015+ or
  • clang 6.0+

Instruction

  • cd rd-cpp
  • ./build.cmd

or

  • gradle :rd-cpp:build -x test

Common build

Requirements

All above ones.

Instruction

  • gradle build

Second step(Generation models)

Further generate models in each language you have chosen. For this purpose project :rd-gen must be built.

Instruction

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.

C#

JetBrains.Rd.Impl.Server and *.Client respectively

Kotlin

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

About

Reactive Distributed communication framework for .net, kotlin, js. Inspired by Rider IDE.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 41.0%
  • Kotlin 38.7%
  • C++ 18.7%
  • CMake 1.3%
  • Shell 0.2%
  • Batchfile 0.1%