Packages

c

glngn.server.app

FixedDomainApp

abstract class FixedDomainApp[AppParams] extends ServerApp[AppParams]

A glngn server application with a fixed deployment name and top level domain. Simplifies building a server application that includes only a specific set of services bundled with the server jar. Also enables adding domain specific parameters to the application.

Linear Supertypes
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. FixedDomainApp
  2. ServerApp
  3. IOLogging
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new FixedDomainApp()(implicit appParamsParser: Parser[AppParams], appParamsHelp: Help[AppParams])

Type Members

  1. type BaseEnvironment = Blocking with Clock with Console with System

    Definition Classes
    ServerApp

Abstract Value Members

  1. abstract val deploymentName: Symbol

    Name of this application.

    Name of this application. This is the primary domain discriminator:

    • all data is placed under this domain
    • TODO: all data is signed with keys provided for this domain by the security controller.
    • TODO: all data is encrypted with keys provided for this domain by the security controller.
  2. abstract def deploymentPrelude: Prelude

    The prelude (List of PreludeEntry) included in this deployment.

    The prelude (List of PreludeEntry) included in this deployment. The entries included here take precidence over any subsequent services and groups defined or loaded dynamically.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. lazy val _unsafeLogger: prelude.Logger
    Attributes
    protected
    Definition Classes
    IOLogging
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  7. def clusteredAppCommand(deploymentConfig: DeploymentConfig, appParams: AppParams, appCommand: AppCommand): AppUIO[Int]

    Definition Classes
    ServerApp
  8. def clusteredNodeCommandHandler(params: ServerParams[AppParams], appCommand: AppCommand): AppTask[Int]

    Definition Classes
    ServerApp
  9. def clusteredRunUntilTerm(params: ServerParams[AppParams]): ServerIO[node.Error, node.TermReason]

    Does not complete until this cluster node completes.

    Does not complete until this cluster node completes. Returns cause of termination. Error occurs if the server is unable to start.

    Definition Classes
    ServerApp
  10. val deploymentEffectBindings: List[EffectBinding]

    Injectible values for this deployment.

    Injectible values for this deployment.

    TODO: The preference is to extend the IO environment. This injection mechanism is to support the "traditional" mechnism of DI for familiarity. That might not be valuable enough.

  11. def dispatchOnArgs(args: List[String]): prelude.ZIO[BaseEnvironment, Nothing, Int]

    Given a list of arguments and a AppCommandHandler either return a program for assisting with usage that exits immediately or dispatches to onAppCommand.

    Given a list of arguments and a AppCommandHandler either return a program for assisting with usage that exits immediately or dispatches to onAppCommand.

    Specifically, this is one of:

    0. on no args provided: a program that reports the error and exits with status code 1.

    1. on failure to parse param args a program that reports the error and exits with status code 1.
    2. on failure to parse a command a program that reports the error and exits with status code 1. 2. on usage or help request a program that provides the requested output and exits with status code 0. 3. on command the parsed command and params are provided to onAppCommand.
    Definition Classes
    ServerApp
  12. def dispatchOnCommandParse(appParams: AppParams, commandName: String, isCommandUsage: Boolean, isCommandHelp: Boolean, maybeAppCommand: Either[caseapp.core.Error, AppCommand]): prelude.ZIO[BaseEnvironment, Nothing, Int]

    Definition Classes
    ServerApp
  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  15. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  17. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  18. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  19. final def main(args: Array[String]): Unit

    Definition Classes
    ServerApp
  20. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  23. def printCommandHelp(commandName: String): prelude.ZIO[BaseEnvironment, Nothing, Int]

    Definition Classes
    ServerApp
  24. def printCommandUsage(commandName: String): prelude.ZIO[BaseEnvironment, Nothing, Int]

    Definition Classes
    ServerApp
  25. def printConfigThenExit: ServerTask[Int]

    Definition Classes
    ServerApp
  26. def printConfigThenExit(config: Config): prelude.Task[Int]

    Definition Classes
    ServerApp
  27. def printFullConfigThenExit: ServerTask[Int]

    Definition Classes
    ServerApp
  28. def printFullConfigThenExit(config: Config): prelude.Task[Int]

    Definition Classes
    ServerApp
  29. def printHelpThenExit: prelude.ZIO[BaseEnvironment, Nothing, Int]

    Definition Classes
    ServerApp
  30. def printUsageThenExit: prelude.ZIO[BaseEnvironment, Nothing, Int]

    Definition Classes
    ServerApp
  31. def printVersionThenExit: prelude.Task[Int]

    Definition Classes
    ServerApp
  32. def resolveConfig(deploymentConfig: DeploymentConfig, appParams: AppParams): AppTask[Config]

    Definition Classes
    ServerApp
  33. def resolveDeploymentConfig(appParams: AppParams): AppTask[DeploymentConfig]

    Definition Classes
    FixedDomainAppServerApp
  34. def resolveDeploymentConfig(deploymentName: DeploymentName, appParams: AppParams): AppTask[DeploymentConfig]

    Given a name of the deployment and application parameters, resolve the configuration of this deployment.

    Given a name of the deployment and application parameters, resolve the configuration of this deployment.

    Definition Classes
    ServerApp
  35. def resolveEffectBindings(deploymentConfig: DeploymentConfig, appParams: AppParams): AppTask[List[EffectBinding]]

    Definition Classes
    FixedDomainAppServerApp
  36. def resolvePrelude(deploymentConfig: DeploymentConfig, appParams: AppParams): AppTask[Prelude]

    Definition Classes
    FixedDomainAppServerApp
  37. def run(args: List[String]): prelude.ZIO[BaseEnvironment, Nothing, Int]

    Given application arguments as a list of strings (EG: executable args provided to main).

    Given application arguments as a list of strings (EG: executable args provided to main). Provide a server application that, when run, will complete once the server completes. Returning the numeric exit code of the server application.

    Default implementation:

    dispatchOnArgs(args)
    Definition Classes
    ServerApp
  38. def runUntilExit[R <: Logging](app: prelude.ZIO[R, Error, TermReason]): prelude.ZIO[R, Nothing, Int]

    Does not complete until the server completes.

    Does not complete until the server completes. Returns process exit code. An exit code of 0 indicates the server completed due to a normal event. An exit code of non-0 indicates an unrecoverable error occurred.

    Definition Classes
    ServerApp
  39. def serverParamsForApp(deploymentConfig: DeploymentConfig, appParams: AppParams): AppTask[ServerParams[AppParams]]

    Definition Classes
    ServerApp
  40. def standaloneAppCommand(deploymentConfig: DeploymentConfig, appParams: AppParams, appCommand: AppCommand): AppUIO[Int]

    Definition Classes
    ServerApp
  41. def standaloneRunUntilTerm(deploymentConfig: DeploymentConfig, appParams: AppParams, stateDir: prelude.Path, options: Run): App[TermReason]

    Definition Classes
    ServerApp
  42. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  43. def toString(): String
    Definition Classes
    AnyRef → Any
  44. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  45. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  46. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  47. object logger

    Definition Classes
    IOLogging

Inherited from ServerApp[AppParams]

Inherited from prelude.IOLogging

Inherited from AnyRef

Inherited from Any

Domain

Service Logic

Implementation Detail

Ungrouped