package host
- Grouped
- Alphabetic
- By Inheritance
- host
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
sealed abstract
class
Error extends Throwable
Top level application error and failures.
Top level application error and failures. Extends throwable for ease of translation with tasks. Optional cause is encoded as default null as that is consistent with Throwable.
- type Host[+A] = ZIO[HostEnvironment, Error, A]
-
abstract
class
HostApp[AppParams] extends PreludeBuilders with prelude.external.IOLogging
An application hosting at least one server node.
An application hosting at least one server node.
By default:
- initial state defined by configuration file or command line arguments
- all service fragments under glngn.server.services are enabled
- dynamic service instantiation of service fragments
- operations interfaces for all instantiated services
- ad-hoc definition of singleton services and operations by operators
See also DefaultHostApp.
The type NoAppParams is suitable if no additional application parameters are required.
-
sealed
trait
HostCommand extends AnyRef
Host application commands.
- type HostEnvironment = Blocking with Clock with Logging with Random with System
- type HostIO[+E, +A] = ZIO[HostEnvironment, E, A]
- type HostTask[+A] = ZIO[HostEnvironment, Throwable, A]
- type HostUIO[+A] = ZIO[HostEnvironment, Nothing, A]
- type InjectorProvider = Has[Service]
- type Logging = Has[Service]
-
final
case class
NoAppParams() extends Product with Serializable
Empty params structure.
-
abstract
class
StandaloneSystem extends Client
The first node currently cannot be stopped before system shutdown request.
The first node currently cannot be stopped before system shutdown request. (#169, #114)
-
sealed
trait
TermReason extends Product with Serializable
Reason application is terminating.
Reason application is terminating. In clustered mode this is always the termination reason of the node.
Value Members
-
object
DefaultHostApp extends HostApp[NoAppParams]
A server with the default configuration.
A server with the default configuration. This is exactly
extends HostApp[DefaultHostParams]
. - object Error extends Serializable
-
object
ExitCodes extends prelude.external.IOLogging
Only the exit code 0 indicates success.
Only the exit code 0 indicates success. All other exit codes imply the application behaved differently than expected. The host system should consider the exact exit code to determine best course of action.
An exit code > 50 indicates an error in the implementation. Contact support@dogheadbone.com.
-
object
HostApp extends prelude.external.IOLogging
A ZIO application hosting server nodes.
-
object
HostCommand
Host application commands.
- object HostEnvironment
-
object
InjectorProvider
Provide access to the glngn.server.core.rts.ImpureInjector instance in the application environment.
Provide access to the glngn.server.core.rts.ImpureInjector instance in the application environment.
Extend the glngn.server.host.HostApp.resolveImpureBindings method to extend the Injector for all service fragments.
AppIO has additional methods for accessing the application environment.
- To do
Preference is to extend the IO environment instead. use distage to inject this?
- object Logging
- object StandaloneSystem extends prelude.external.IOLogging
-
object
TermReason extends Serializable
Reason application is terminating.
Reason application is terminating. In clustered mode this is always the termination reason of the node.
glngn server is a low-code business process as a service rapid development system. Conceptually similar to a programmable Microsoft Access or Apple FileMaker for scalable event sourced business services. In addition to a library, a standalone application is provided that is useful with minimal ceremony. This can be customized with a simple API. As well as deployed to a kubernetes cluster should those advantages be required.
A deployment is cluster of glngn.server.node.AppNodes serving a dynamic composition of glngn.server.ServiceFragments. Deployments are designed to be fully usable as a standalone local application or a kubernetes service.
Contact support@dogheadbone.com for support and licensing.