Packages

  • package root

    glngn server is a low-code business process as a service rapid development system.

    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.

    Definition Classes
    root
  • package glngn
    Definition Classes
    root
  • package server

    Definition Classes
    glngn
  • trait ServiceEntity extends ServiceActor

    An event sourced persistent entity definition.

    An event sourced persistent entity definition. The entity refers to all actors defined by the the Id.

    This is implemented using typed akka persistent actors and cluster sharding. Additional functionality:

    - always replies when handing a request - will automatically derive a JSON codec for Storage events - StopEnvelope will always stop the entity - entity will automatically passivate after no events

    import glngn.server.prelude._
    
    final object MyServiceEntity extends ServiceEntity {
      val name = "my-service-entity"
    
      // example declaration of state as case class
      final case class State(state: String) extends Message
    
      // standard Proto and Storage declarations as sealed traits
      sealed trait Proto extends Message
      sealed trait Storage extends Proto
    
      // a request event that's recorded to storage
      final case class Add(value: String) extends Command[State] with Storage with Proto
    
      def activity(injector: ImpureInjector, id: Id) = new Activity(injector) {
        val init = State(Map.empty)
    
        def protoHandler(ctx: ActorContext[Envelope], state: State) = {
          case persistedEvent: Storage => Handler.persist(persistedEvent)
          case _: Proto                => Handler.none
        }
    
        def storageHandler(state: State) = {
          case add: Add => state.copy(state = state.state + add.value)
        }
      }
    }
    Definition Classes
    server
  • Activity
  • AutoPassivateTimerId
  • Command
  • Envelope
  • Event
  • Handler
  • OpenHandler
  • Proto
  • Query
  • Request
  • SealedHandler
  • State
  • StopEnvelope
  • Storage

sealed trait SealedHandler extends Handler

A Handler that cannot be extended with IO actions.

Linear Supertypes
Known Subclasses
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. SealedHandler
  2. Handler
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def thenUnstashAll: SealedHandler

    Unstash all protocol messages.

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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  16. def toString(): String
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from Handler

Inherited from AnyRef

Inherited from Any

Service Logic

Ungrouped