object88 / langd

A Language Server Protocol implementation in Go for Go
MIT License
7 stars 0 forks source link

Queue requests until completely loaded #5

Closed object88 closed 6 years ago

object88 commented 6 years ago

The initialize request responds immediately, but the server can take some time to parse the complete workspace AST. During this time, some requests should not be fulfillable, and should be queued up until the AST is completely loaded.

object88 commented 6 years ago

Work started in master; refactoring request processing into two queues: one for all work, and a second for any response. Next step will be to block the processing of the worker queue until the internal initialization is complete.

object88 commented 6 years ago

Done. Pre-init requests are dropped as appropriate. Requests after initialize and before initialization are queued. After initialization is complete, requests are processed as they are made.