Class AsyncService

java.lang.Object
com.sshtools.j2ssh.transport.Service
com.sshtools.j2ssh.transport.AsyncService
All Implemented Interfaces:
Runnable
Direct Known Subclasses:
AuthenticationProtocolServer, ConnectionProtocol

public abstract class AsyncService extends Service implements Runnable

Extends the simple Service class to provide an asyncronous messaging service for the transport protocol.

Since:
0.2.0
Version:
$Revision: 1.28 $
Author:
Lee David Painter
  • Field Details

  • Constructor Details

    • AsyncService

      public AsyncService(String serviceName)

      Constructs an asyncronous service.

      Parameters:
      serviceName - the name of the service
      Since:
      0.2.0
  • Method Details

    • onStart

      protected void onStart() throws IOException

      Implements the abstract Service method and starts the service thread.

      Specified by:
      onStart in class Service
      Throws:
      IOException - if an IO error occurs
      Since:
      0.2.0
    • run

      public final void run()

      Implements the asyncronous services message loop.

      Specified by:
      run in interface Runnable
      Since:
      0.2.0
    • onStop

      protected abstract void onStop()

      The service thread calls this method when the thread is exiting.

      Since:
      0.2.0
    • getAsyncMessageFilter

      protected abstract int[] getAsyncMessageFilter()

      Implement this method by returning the message ids of the asyncrounous messages your implementation wants to receive.

      Returns:
      an int array of message ids
      Since:
      0.2.0
    • onMessageReceived

      protected abstract void onMessageReceived(SshMessage msg) throws IOException

      Called by the service thread when an asyncronous message is received.

      Parameters:
      msg - the message received
      Throws:
      IOException - if an IO error occurs
      Since:
      0.2.0