com.sshtools.j2ssh.transport
Class Service
java.lang.Object
com.sshtools.j2ssh.transport.Service
public abstract class Service
extends java.lang.Object
This class implements the transport protocol service.
After the transport protocol negotiates the protocol version and performs
server authentication via key exchange, the client requests a service. The
service is identified by a name and currently there are 2 services defined.
ssh-userauth
ssh-connection
These 2 services are implemented by the SSH authentication protocol and SSH
connection protocol respectivley. Further services can be defined and a
similar local naming policy is applied to the service names, as is applied
to the algorithm names; a local service should use the
"servicename(at)domain" syntax.
Service(String serviceName) -
Constructs the service.
|
String | getServiceName() -
Returns the service name.
|
ServiceState | getState() -
Returns the state of the service.
|
void | init(int startMode, TransportProtocol transport) -
Initialize the service.
|
protected abstract void | onServiceAccept() -
Called when the service is accepted by the remote server.
|
protected abstract void | onServiceInit(int startMode) -
Called when the service is intialized.
|
protected abstract void | onServiceRequest()
|
protected abstract void | onStart() -
Called when the service is started.
|
protected void | sendServiceAccept() -
Sends the SSH_MSG_SERVICE_ACCEPT message to the client to indicate that
the local computer is accepting the remote computers service request.
|
void | start() -
Starts the service.
|
void | stop() -
Stops the service.
|
ACCEPTING_SERVICE
public static final int ACCEPTING_SERVICE
Serivce start mode passed into init
method when the service
is operating in server mode. i.e a client is requesting a service to be
started on the local computer and requires the SSH_MSG_SERVICE_ACCEPT
message to be sent.
REQUESTING_SERVICE
public static final int REQUESTING_SERVICE
Service start mode passed into init
method when the service
is operating in client mode. i.e its requesting a service to be started
on the remote server and requires a SSH_MSG_SERVICE_ACCEPT message.
messageStore
protected SshMessageStore messageStore
The message store registered with the transport protocol to receive the
service's message.
startMode
protected Integer startMode
This instances start mode
state
protected ServiceState state
The current state of the service
Service
public Service(String serviceName)
Constructs the service.
serviceName
- the name of the service
getServiceName
public final String getServiceName()
Returns the service name.
getState
public ServiceState getState()
Returns the state of the service.
init
public void init(int startMode,
TransportProtocol transport)
throws IOException
Initialize the service.
startMode
- the mode of the servicetransport
- the underlying transport protocol
onServiceAccept
protected abstract void onServiceAccept()
throws IOException
Called when the service is accepted by the remote server.
onServiceInit
protected abstract void onServiceInit(int startMode)
throws IOException
Called when the service is intialized.
startMode
- the mode of the service
onServiceRequest
protected abstract void onServiceRequest()
throws IOException
onStart
protected abstract void onStart()
throws IOException
Called when the service is started.
sendServiceAccept
protected void sendServiceAccept()
throws IOException
Sends the SSH_MSG_SERVICE_ACCEPT message to the client to indicate that
the local computer is accepting the remote computers service request.
start
public final void start()
throws IOException
Starts the service.
stop
public final void stop()
Stops the service.
Copyright © 2002-2003 Lee David Painter & Contributors. All Rights Reserved.