Package org.globus.ftp.vanilla

# Class BasicClientControlChannel

java.lang.Object
org.globus.ftp.vanilla.BasicClientControlChannel

Direct Known Subclasses:
  `FTPControlChannel`, `FTPServerFacade.LocalControlChannel`

public abstract class BasicClientControlChannel extends Object
Basic subset of client side control channel functionality, enough to implement the part of transfer after sending transfer command (RETR) up until receiving 200 reply.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`WAIT_FOREVER`

## Constructor Summary

Constructors
Constructor
Description
`BasicClientControlChannel()`

## Method Summary

Modifier and Type
Method
Description
`abstract void`
`abortTransfer()`
`abstract Reply`
`read()`
`void`
`waitFor(Flag flag, int waitDelay)`
Return when reply is waiting
`abstract void`
`waitFor(Flag flag, int waitDelay, int maxWait)`
Block until reply is waiting in the control channel, or after timeout (maxWait), or when flag changes to true.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### WAIT_FOREVER

public static final int WAIT_FOREVER

See Also:
  - Constant Field Values

## Constructor Details

### BasicClientControlChannel

public BasicClientControlChannel()

## Method Details

### read

public abstract Reply read() throws ServerException, IOException, FTPReplyParseException

Throws:
  `ServerException`
  `IOException`
  `FTPReplyParseException`

### waitFor

public void waitFor(Flag flag, int waitDelay) throws ServerException, IOException, InterruptedException
Return when reply is waiting

Throws:
  `ServerException`
  `IOException`
  `InterruptedException`

### waitFor

public abstract void waitFor(Flag flag, int waitDelay, int maxWait) throws ServerException, IOException, InterruptedException
Block until reply is waiting in the control channel, or after timeout (maxWait), or when flag changes to true. If maxWait == WAIT_FOREVER, do not timeout.

Parameters:
  `maxWait` - timeout in miliseconds
Throws:
  `ServerException`
  `IOException`
  `InterruptedException`

### abortTransfer

public abstract void abortTransfer()