colossus.core

ServerSettings

case class ServerSettings(port: Int, maxConnections: Int = 1000, maxIdleTime: Duration = ..., lowWatermarkPercentage: Double = 0.75, highWatermarkPercentage: Double = 0.85, highWaterMaxIdleTime: FiniteDuration = ..., tcpBacklogSize: Option[Int] = scala.None, bindingAttemptDuration: PollingDuration = ..., delegatorCreationDuration: PollingDuration = ...) extends Product with Serializable

Contains values for configuring how a Server operates

These are all lower-level configuration settings that are for the most part not concerned with a server's application behavior

The low/high watermark percentages are used to help mitigate connection overload. When a server hits the high watermark percentage of live connections, it will change the idle timeout from maxIdleTime to highWaterMaxIdleTime in an attempt to more aggressively close idle connections. This will continue until the percentage drops below lowWatermarkPercentage. This can be totally disabled by just setting both watermarks to 1.

port

Port on which this Server will accept connections

maxConnections

Max number of simultaneous live connections

maxIdleTime

Maximum idle time for connections when in non high water conditions

lowWatermarkPercentage

Percentage of live/max connections which represent a normal state

highWatermarkPercentage

Percentage of live/max connections which represent a high water state.

highWaterMaxIdleTime

Max idle time for connections when in high water conditions.

tcpBacklogSize

Set the max number of simultaneous connections awaiting accepting, or None for NIO default

bindingAttemptDuration

The polling configuration for binding to a port. The The IOSystem will check PollingDuration.interval PollingDuration.maximumTries times. If the server cannot bind to the port, during this duration, it will shutdown. If this is not specified, the IOSystem will wait indefinitely.

delegatorCreationDuration

The polling configuration for creating The IOSystem will wait PollingDuration.interval for all colossus.core.Delegators to be created. It will fail to startup after PollingDuration.maximumTries and shutdown if it cannot successfully create the colossus.core.Delegators

Linear Supertypes
Serializable, Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ServerSettings
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ServerSettings(port: Int, maxConnections: Int = 1000, maxIdleTime: Duration = ..., lowWatermarkPercentage: Double = 0.75, highWatermarkPercentage: Double = 0.85, highWaterMaxIdleTime: FiniteDuration = ..., tcpBacklogSize: Option[Int] = scala.None, bindingAttemptDuration: PollingDuration = ..., delegatorCreationDuration: PollingDuration = ...)

    port

    Port on which this Server will accept connections

    maxConnections

    Max number of simultaneous live connections

    maxIdleTime

    Maximum idle time for connections when in non high water conditions

    lowWatermarkPercentage

    Percentage of live/max connections which represent a normal state

    highWatermarkPercentage

    Percentage of live/max connections which represent a high water state.

    highWaterMaxIdleTime

    Max idle time for connections when in high water conditions.

    tcpBacklogSize

    Set the max number of simultaneous connections awaiting accepting, or None for NIO default

    bindingAttemptDuration

    The polling configuration for binding to a port. The The IOSystem will check PollingDuration.interval PollingDuration.maximumTries times. If the server cannot bind to the port, during this duration, it will shutdown. If this is not specified, the IOSystem will wait indefinitely.

    delegatorCreationDuration

    The polling configuration for creating The IOSystem will wait PollingDuration.interval for all colossus.core.Delegators to be created. It will fail to startup after PollingDuration.maximumTries and shutdown if it cannot successfully create the colossus.core.Delegators

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. val bindingAttemptDuration: PollingDuration

    The polling configuration for binding to a port.

    The polling configuration for binding to a port. The The IOSystem will check PollingDuration.interval PollingDuration.maximumTries times. If the server cannot bind to the port, during this duration, it will shutdown. If this is not specified, the IOSystem will wait indefinitely.

  8. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. val delegatorCreationDuration: PollingDuration

    The polling configuration for creating The IOSystem will wait PollingDuration.interval for all colossus.core.Delegators to be created. It will fail to startup after PollingDuration.maximumTries and shutdown if it cannot successfully create the colossus.core.Delegators

  10. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  11. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  13. val highWaterMaxIdleTime: FiniteDuration

    Max idle time for connections when in high water conditions.

  14. def highWatermark: Double

  15. val highWatermarkPercentage: Double

    Percentage of live/max connections which represent a high water state.

  16. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  17. def lowWatermark: Double

  18. val lowWatermarkPercentage: Double

    Percentage of live/max connections which represent a normal state

  19. val maxConnections: Int

    Max number of simultaneous live connections

  20. val maxIdleTime: Duration

    Maximum idle time for connections when in non high water conditions

  21. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  22. final def notify(): Unit

    Definition Classes
    AnyRef
  23. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  24. val port: Int

    Port on which this Server will accept connections

  25. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  26. val tcpBacklogSize: Option[Int]

    Set the max number of simultaneous connections awaiting accepting, or None for NIO default

  27. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped