Documentation

Lapis.Concurrent.Dispatcher

Server Runtime #

Complete server runtime with all actors

Instances For
    def Lapis.Concurrent.Dispatcher.ServerRuntime.getUserState {UserState : Type} (rt : ServerRuntime UserState) :
    IO UserState

    Get current user state

    Equations
    Instances For
      def Lapis.Concurrent.Dispatcher.ServerRuntime.modifyUserState {UserState : Type} (rt : ServerRuntime UserState) (f : UserStateUserState) :

      Modify user state

      Equations
      Instances For
        def Lapis.Concurrent.Dispatcher.ServerRuntime.setUserState {UserState : Type} (rt : ServerRuntime UserState) (state : UserState) :

        Set user state

        Equations
        Instances For

          Shutdown all actors

          Equations
          Instances For

            Message Routing #

            Main Loop #

            def Lapis.Concurrent.Dispatcher.runMainLoop {T UserState : Type} [Transport.Transport T] (transport : T) (rt : ServerRuntime UserState) :

            The main message loop - reads from transport and routes to actors

            Equations
            Instances For
              partial def Lapis.Concurrent.Dispatcher.runMainLoop.loop {T UserState : Type} [Transport.Transport T] (transport : T) (rt : ServerRuntime UserState) :

              Server Startup #

              def Lapis.Concurrent.Dispatcher.createRuntime {T UserState : Type} [Transport.Transport T] (transport : T) (config : LspActor.LspConfig UserState) (initialState : UserState) :
              IO (ServerRuntime UserState)

              Create and start the server runtime

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def Lapis.Concurrent.Dispatcher.runServer {T UserState : Type} [Transport.Transport T] (transport : T) (config : LspActor.LspConfig UserState) (initialState : UserState) :

                Run the server with the given configuration

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  def Lapis.Concurrent.Dispatcher.runStdio {UserState : Type} (config : LspActor.LspConfig UserState) (initialState : UserState) :

                  Run the server on stdio

                  Equations
                  Instances For