Package 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<Object>
org.eclipse.net4j.signal.SignalProtocol<Object>
org.eclipse.net4j.signal.heartbeat.HeartBeatProtocol.Server

All Implemented Interfaces:
  `IBufferHandler`, `ILocationAware`, `IProtocol<Object>`, `IProtocol2<Object>`, `IProtocol3<Object>`, `ISignalProtocol<Object>`, `ISignalProtocol.WithSignalCounters<Object>`, `org.eclipse.net4j.util.collection.Entity.Store.Provider`, `org.eclipse.net4j.util.concurrent.IExecutorServiceProvider`, `org.eclipse.net4j.util.container.IManagedContainerProvider`, `org.eclipse.net4j.util.event.INotifier`, `org.eclipse.net4j.util.event.INotifier.INotifier2`, `org.eclipse.net4j.util.lifecycle.IDeactivateable`, `org.eclipse.net4j.util.lifecycle.ILifecycle`, `org.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivation`, `org.eclipse.net4j.util.security.IUserAware`

Enclosing class:
  `HeartBeatProtocol`

public static class HeartBeatProtocol.Server extends SignalProtocol<Object>
The server-side implementation of a `heart beat protocol`.

Author:
  Eike Stepper

## Nested Class Summary

Nested Classes
Modifier and Type
Class
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 class org.eclipse.spi.net4j.Protocol

`Protocol.InfraStructureChangedEvent`

## Nested classes/interfaces inherited from class org.eclipse.net4j.util.event.Notifier

`org.eclipse.net4j.util.event.Notifier.Cancelation`

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

`org.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivation`

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

`ILocationAware.Location`

## Nested classes/interfaces inherited from interface org.eclipse.net4j.util.event.INotifier

`org.eclipse.net4j.util.event.INotifier.INotifier2`

## Nested classes/interfaces inherited from interface org.eclipse.net4j.signal.ISignalProtocol

`ISignalProtocol.WithSignalCounters<INFRA_STRUCTURE>`

## Field Summary

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

`COMPRESSED_STRINGS_ACKNOWLEDGE_TIMEOUT, SIGNAL_ACKNOWLEDGE_COMPRESSED_STRINGS, SIGNAL_ENTITY, 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.protocol.IProtocol2

`UNSPECIFIED_VERSION`

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

`DEFAULT_TIMEOUT, NO_TIMEOUT`

## Constructor Summary

Constructors
Modifier
Constructor
Description
``
`Server()`
`protected`
`Server(String type)`

## Method Summary

Modifier and Type
Method
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()`
`Timer`
`getHeartBeatTimer()`
`protected void`
`indicatingStart(org.eclipse.net4j.util.io.ExtendedDataInputStream in)`
`void`
`setHeartBeatTimer(Timer heartBeatTimer)`

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

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

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

`getBufferProvider, getChannel, getContainer, 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, addUniqueListener, fireEvent, fireEvent, fireEvent, fireThrowable, firstListenerAdded, getListeners, getNotificationService, hasListener, hasListeners, lastListenerRemoved, listenerAdded, listenerRemoved, 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.ILocationAware

`getLocation, isClient, isServer`

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

`addListener, getListeners, hasListeners, removeListener`

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

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

### Methods inherited from interface org.eclipse.net4j.protocol.IProtocol3

`doWhenFullyConnected`

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

`getUserID`

## Constructor Details

### Server

protected Server(String type)

Since:
  4.0

### Server

public Server()

## Method Details

### getHeartBeatTimer

public Timer getHeartBeatTimer()

### setHeartBeatTimer

public void setHeartBeatTimer(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<Object>`

### doBeforeActivate

protected void doBeforeActivate() throws Exception

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

### doDeactivate

protected void doDeactivate() throws Exception

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

### indicatingStart

protected void indicatingStart(org.eclipse.net4j.util.io.ExtendedDataInputStream in) throws IOException

Throws:
  `IOException`
Since:
  4.0