org.eclipse.emf.cdo.server.net4j

## Class FailoverMonitor.AgentProtocol

- 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<Object>
        - - org.eclipse.net4j.signal.heartbeat.HeartBeatProtocol.Server
          - - org.eclipse.emf.cdo.server.net4j.FailoverMonitor.AgentProtocol

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

      public static class FailoverMonitor.AgentProtocol
      extends HeartBeatProtocol.Server

  The monitor-side implementation of the `fail-over monitor` agent protocol.
  Author:
    Eike Stepper

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `FailoverMonitor.AgentProtocol.Factory` Creates `fail-over agent protocol` instances.

    - ### Nested classes/interfaces inherited from class org.eclipse.net4j.signal.heartbeat.HeartBeatProtocol.Server

      `HeartBeatProtocol.Server.TimerInjector`

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

      `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

      `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
    Constructor and Description
    `AgentProtocol(FailoverMonitor.Provider failOverMonitorProvider)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `doDeactivate()`
    `String` | `getConnectorDescription()`
    `FailoverMonitor` | `getFailoverMonitor()`
    `String` | `getRepositoryName()`
    `protected void` | `indicatingStart(ExtendedDataInputStream in)`
    `String` | `toString()`

    - ### Methods inherited from class org.eclipse.net4j.signal.heartbeat.HeartBeatProtocol.Server

      `createSignalReactor, doBeforeActivate, getHeartBeatTimer, setHeartBeatTimer`

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

      `addStreamWrapper, close, doBeforeDeactivate, getStreamWrapper, getTimeout, handleBuffer, handleChannelDeactivation, isSendingTimeoutChanges, open, provideSignalReactor, setStreamWrapper, setTimeout, setTimeout, 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

    - #### AgentProtocol

          public AgentProtocol(FailoverMonitor.Provider failOverMonitorProvider)

  - ### Method Detail

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `SignalProtocol<Object>`

    - #### getFailoverMonitor

          public FailoverMonitor getFailoverMonitor()

      Since:
        4.1

    - #### getConnectorDescription

          public String getConnectorDescription()

      Since:
        4.1

    - #### getRepositoryName

          public String getRepositoryName()

      Since:
        4.1

    - #### indicatingStart

          protected void indicatingStart(ExtendedDataInputStream in)
                                  throws IOException

      Overrides:
        `indicatingStart` in class `HeartBeatProtocol.Server`
      Throws:
        `IOException`

    - #### doDeactivate

          protected void doDeactivate()
                               throws Exception

      Overrides:
        `doDeactivate` in class `HeartBeatProtocol.Server`
      Throws:
        `Exception`

Copyright (c) 2014 Eike Stepper (Berlin, 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