Package net.schmizz.sshj
Class AbstractService
java.lang.Object
net.schmizz.sshj.AbstractService
- All Implemented Interfaces:
ErrorNotifiable,SSHPacketHandler,Service
- Direct Known Subclasses:
ConnectionImpl,TransportImpl.NullService,UserAuthImpl
An abstract class for
Service that implements common or default functionality.-
Nested Class Summary
Nested classes/interfaces inherited from interface net.schmizz.sshj.common.ErrorNotifiable
ErrorNotifiable.Util -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetName()voidDelegate handling of some SSH packet to this object.voidnotifyError(SSHException error) Notifies this object of anerror.voidnotifyUnimplemented(long seqNum) Notifies this service that aSSH_MSG_UNIMPLEMENTEDwas received for packet with given sequence number.voidrequest()Request and install this service with the associated transport.
-
Field Details
-
log
protected final org.slf4j.Logger logLogger -
name
Assigned name of this service -
trans
Transport layer
-
-
Constructor Details
-
AbstractService
-
-
Method Details
-
getName
-
handle
Description copied from interface:SSHPacketHandlerDelegate handling of some SSH packet to this object.- Specified by:
handlein interfaceSSHPacketHandler- Parameters:
msg- the SSHmessage identifierbuf-SSHPacketcontaining rest of the request- Throws:
SSHException- if there is a non-recoverable error
-
notifyError
Description copied from interface:ErrorNotifiableNotifies this object of anerror.- Specified by:
notifyErrorin interfaceErrorNotifiable
-
notifyUnimplemented
Description copied from interface:ServiceNotifies this service that aSSH_MSG_UNIMPLEMENTEDwas received for packet with given sequence number. Meant to be invoked as a callback by the transport layer.- Specified by:
notifyUnimplementedin interfaceService- Parameters:
seqNum- sequence number of the packet which the server claims is unimplemented- Throws:
SSHException- if the packet is unexpected and may represent a disruption
-
request
Description copied from interface:ServiceRequest and install this service with the associated transport. Implementations should aim to make this method idempotent by first checking theTransport.getService()currently active service}.- Specified by:
requestin interfaceService- Throws:
TransportException- if there is an error sending the service request
-