org.eclipse.net4j.signal.heartbeat

## Class HeartBeatProtocol.Server

- java.lang.Object
- - org.eclipse.net4j.util.event.Notifier
  - - org.eclipse.net4j.util.lifecycle.Lifecycle
    - - org.eclipse.spi.net4j.Protocol<INFRA_STRUCTURE>
      - - org.eclipse.net4j.signal.SignalProtocol<java.lang.Object>
        - - org.eclipse.net4j.signal.heartbeat.HeartBeatProtocol.Server

- All Implemented Interfaces:
    IBufferHandler, ILocationAware, IProtocol<java.lang.Object>, IProtocol2<java.lang.Object>, ISignalProtocol<java.lang.Object>, IExecutorServiceProvider, INotifier, IDeactivateable, ILifecycle, ILifecycle.DeferrableActivation, IUserAware
  Enclosing class:
    HeartBeatProtocol

      public static class HeartBeatProtocol.Server
      extends SignalProtocol<java.lang.Object>

  The server-side implementation of a `heart beat protocol`.
  Author:
    Eike Stepper

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `HeartBeatProtocol.Server.Factory` Creates server-side `heart beat protocol` instances.
    `static class` | `HeartBeatProtocol.Server.TimerInjector` An `element post processor` that injects a `timer` into server-side `heart beat protocol` instances.

    - ### Nested classes/interfaces inherited from class org.eclipse.net4j.signal.SignalProtocol

      `SignalProtocol.InvalidSignalIDException, SignalProtocol.TimeoutChangedEvent`

    - ### Nested classes/interfaces inherited from interface org.eclipse.net4j.ILocationAware

      `ILocationAware.Location`

    - ### Nested classes/interfaces inherited from interface org.eclipse.net4j.util.lifecycle.ILifecycle

      `ILifecycle.DeferrableActivation`

  - ### Field Summary

    - ### Fields inherited from class org.eclipse.net4j.signal.SignalProtocol

      `COMPRESSED_STRINGS_ACKNOWLEDGE_TIMEOUT, SIGNAL_ACKNOWLEDGE_COMPRESSED_STRINGS, SIGNAL_MONITOR_CANCELED, SIGNAL_MONITOR_PROGRESS, SIGNAL_REMOTE_EXCEPTION, SIGNAL_SET_TIMEOUT`

    - ### Fields inherited from class org.eclipse.net4j.util.lifecycle.Lifecycle

      `USE_LABEL`

    - ### Fields inherited from interface org.eclipse.net4j.signal.ISignalProtocol

      `DEFAULT_TIMEOUT, NO_TIMEOUT`

    - ### Fields inherited from interface org.eclipse.net4j.protocol.IProtocol2

      `UNSPECIFIED_VERSION`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `` | `Server()`
    `protected` | `Server(java.lang.String type)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected SignalReactor` | `createSignalReactor(short signalID)` Returns a new signal instance to serve the given signal ID or `null` if the signal ID is invalid/unknown for this protocol.
    `protected void` | `doBeforeActivate()`
    `protected void` | `doDeactivate()`
    `java.util.Timer` | `getHeartBeatTimer()`
    `protected void` | `indicatingStart(ExtendedDataInputStream in)`
    `void` | `setHeartBeatTimer(java.util.Timer heartBeatTimer)`

    - ### Methods inherited from class org.eclipse.net4j.signal.SignalProtocol

      `addStreamWrapper, close, doBeforeDeactivate, getStreamWrapper, getStringCompressor, getTimeout, handleBuffer, handleChannelDeactivation, isSendingTimeoutChanges, open, provideSignalReactor, setStreamWrapper, setTimeout, setTimeout, toString, waitForSignals`

    - ### Methods inherited from class org.eclipse.spi.net4j.Protocol

      `getBufferProvider, getChannel, getExecutorService, getInfraStructure, getLocation, getType, getUserID, getVersion, isClient, isServer, setChannel, setExecutorService, setInfraStructure, setUserID`

    - ### Methods inherited from class org.eclipse.net4j.util.lifecycle.Lifecycle

      `activate, checkActive, checkArg, checkArg, checkInactive, checkNull, checkState, checkState, deactivate, deferredActivate, doActivate, doAfterActivate, dump, getLifecycleState, isActive, isDeferredActivation`

    - ### Methods inherited from class org.eclipse.net4j.util.event.Notifier

      `addListener, fireEvent, fireEvent, fireEvent, fireThrowable, firstListenerAdded, getListeners, getNotificationService, hasListeners, lastListenerRemoved, removeListener`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.eclipse.net4j.protocol.IProtocol

      `getBufferProvider, getChannel, getExecutorService, getInfraStructure, getType, setChannel, setExecutorService, setInfraStructure`

    - ### Methods inherited from interface org.eclipse.net4j.util.security.IUserAware

      `getUserID`

    - ### Methods inherited from interface org.eclipse.net4j.ILocationAware

      `getLocation, isClient, isServer`

    - ### Methods inherited from interface org.eclipse.net4j.util.event.INotifier

      `addListener, getListeners, hasListeners, removeListener`

- - ### Constructor Detail

    - #### Server

          protected Server(java.lang.String type)

      Since:
        4.0

    - #### Server

          public Server()

  - ### Method Detail

    - #### getHeartBeatTimer

          public java.util.Timer getHeartBeatTimer()

    - #### setHeartBeatTimer

          public void setHeartBeatTimer(java.util.Timer heartBeatTimer)

    - #### createSignalReactor

          protected SignalReactor createSignalReactor(short signalID)

      Description copied from class: `SignalProtocol`
      Returns a new signal instance to serve the given signal ID or `null` if the signal ID is invalid/unknown for this protocol.
      Overrides:
        `createSignalReactor` in class `SignalProtocol<java.lang.Object>`

    - #### doBeforeActivate

          protected void doBeforeActivate()
                                   throws java.lang.Exception

      Overrides:
        `doBeforeActivate` in class `Protocol<java.lang.Object>`
      Throws:
        `java.lang.Exception`

    - #### doDeactivate

          protected void doDeactivate()
                               throws java.lang.Exception

      Overrides:
        `doDeactivate` in class `SignalProtocol<java.lang.Object>`
      Throws:
        `java.lang.Exception`

    - #### indicatingStart

          protected void indicatingStart(ExtendedDataInputStream in)
                                  throws java.io.IOException

      Throws:
        `java.io.IOException`
      Since:
        4.0

Copyright (c) 2004-2019 Eike Stepper (Loehne, Germany) and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html