Skip to content

Avoid networking layer of Akka by ydoc-server talking directly to the engine+ls #14142

@JaroslavTulach

Description

@JaroslavTulach

Related Prior Work

Task 1: Avoid two WebSocket Connections

  • modify IDE & ydoc-shared code
  • avoid IDE creating two WebSocket connections (one to ydoc-server another to language server_)
  • let IDE connect to ydoc-server only and ...
  • ... "send messages" by adding them to FIFO Y.js queue
  • let the ydoc-server distribute these messages to language server
  • sketch of necessary changes: Connect MainModule.scala and languageServer.ts so they can all to each other

Task 2: Ydoc Server Talks to Language Server Directly

Future Work: Less Messages

  • as @farmaazon puts it:
  • we could do even better. Many endpoints are for altering some state managed by LS (execution context, file contents...). We should just update structures representing that state.
  • all that's going to be enabled once we finish tasks 1 and 2

Metadata

Metadata

Assignees

Type

No type

Projects

Status

🔧 Implementation

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions