11#ifndef SQUID_SRC_CLIENTS_FTPCLIENT_H
12#define SQUID_SRC_CLIENTS_FTPCLIENT_H
21extern const char *
const crlf;
182 void start()
override;
188 void abortAll(
const char *reason)
override;
void error(char *format,...)
interface for supplying additional information about a transaction failure
Comm::ConnectionPointer listenConn
void close()
planned close: removes the close handler and calls comm_close
void opened(const Comm::ConnectionPointer &conn, const AsyncCall::Pointer &aCloser)
called after the socket is opened, sets up close handler
void clear()
remove the close handler, leave connection open
AsyncCall::Pointer closer
Comm close handler callback.
Comm::ConnectionPointer conn
channel descriptor
FTP client functionality shared among FTP Gateway and Relay clients.
virtual Http::StatusCode failedHttpStatus(err_type &error)
void start() override
called by AsyncStart; do not call directly
bool handleEpsvReply(Ip::Address &remoteAddr)
enum Ftp::Client::@30 ftp_state_t
virtual void handleControlReply()
void dataRead(const CommIoCbParams &io)
void closeServer() override
void scheduleReadControlReply(int buffered_ok)
void sentRequestBody(const CommIoCbParams &io) override
void writeCommand(const char *buf)
virtual void timeout(const CommTimeoutCbParams &io)
read timeout handler
bool handlePasvReply(Ip::Address &remoteAddr)
void switchTimeoutToDataChannel()
void connectDataChannel()
bool doneWithServer() const override
void writeCommandCallback(const CommIoCbParams &io)
void readControlReply(const CommIoCbParams &io)
DataChannel data
FTP data channel state.
void doneSendingRequestBody() override
void maybeReadVirginBody() override
read response data from the network
JobWait< Comm::ConnOpener > dataConnWait
const Comm::ConnectionPointer & dataConnection() const override
virtual void failed(err_type error=ERR_NONE, int xerrno=0, ErrorState *ftperr=nullptr)
handle a fatal transaction error, closing the control connection
CtrlChannel ctrl
FTP control channel state.
bool parseControlReply(size_t &bytesUsed)
AsyncCall::Pointer dataCloser()
creates a data channel Comm close callback
void ctrlClosed(const CommCloseCbParams &io)
handler called by Comm when FTP control channel is closed unexpectedly
virtual void dataChannelConnected(const CommConnectCbParams &io)=0
void abortAll(const char *reason) override
abnormal transaction termination; reason is for debugging only
virtual void dataClosed(const CommCloseCbParams &io)
handler called by Comm when FTP data channel is closed unexpectedly
void noteDelayAwareReadChance() override
CtrlChannel(const CtrlChannel &)
CtrlChannel & operator=(const CtrlChannel &)
void addr(const Ip::Address &addr)
import host and port
MEMPROXY_CLASS(Ftp::ErrorDetail)
SBuf verbose(const HttpRequestPointer &) const override
int completionCode
FTP reply completion code.
SBuf brief() const override
ErrorDetail(const int code)