diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2007-11-09 18:01:12 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2007-11-09 18:01:12 +0000 |
| commit | b5ad00980918777cb701420b151e9c4c81e43757 (patch) | |
| tree | 5b4d9c234c21c4468ad409c76df41da85e4b9877 /src/DownloadFailureException.h | |
| parent | 76b9093d09d76b399823e36c83f1289b37ca2624 (diff) | |
2007-11-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Don't connect server before checking file integrity at startup,
if
filesize and output file path are known.
* src/AbstractCommand.cc
* src/StreamFileAllocationEntry.cc
* src/Metalink2RequestGroup.cc
* src/RequestGroup.{h, cc}
* src/HttpResponseCommand.cc
* src/FtpNegotiationCommand.cc
Added DownloadFailureException. If it is thrown, RequestGroup
should
halt.
* src/AbstractCommand.cc
* src/DownloadFailureException.h
* src/RequestGroup.cc
Catch RecoverableException, instead of DlAbortEx.
* src/RequestGroupMan.cc
* src/FillRequestGroupCommand.cc
* src/MetaFileUtil.cc
* src/IteratableChunkChecksumValidator.cc
Now first parameter of MSG_DOWNLOAD_ABORTED is
gid(RequestGroup::
getGID())
* src/CheckIntegrityCommand.cc
* src/message.h
Print gid instead of idx.
* src/RequestGroupMan.cc
Removed exception throwers declaration.
* src/DirectDiskAdaptor.{h, cc}
* src/SocketCore.{h, cc}
* src/MultiDiskAdaptor.{h, cc}
* src/HttpConnection.{h, cc}
* src/HttpResponse.{h, cc}
* src/DiskAdaptor.{h, cc}
* src/CopyDiskAdaptor.{h, cc}
* src/MultiDiskAdaptor.{h, cc}
* src/HttpHeaderProcessor.{h, cc}
* src/AbstractSingleDiskAdaptor.{h, cc}
* src/Util.{h, cc}
* test/UtilTest.cc
* src/DefaultDiskWriter.{h, cc}
* src/FtpConnection.{h, cc}
* src/AbstractDiskWriter.{h, cc}
Removed duplicate code.
* src/StreamCheckIntegrityEntry.cc
Removed unnecessary include.
* src/DiskWriter.h
Included Exception.h
* src/option_processing.cc
Included 2 files and added doc
* src/TrackerWatcherCommand.cc
* src/SocketCore.cc (writeData): Fixed send error with GnuTLS.
Diffstat (limited to 'src/DownloadFailureException.h')
| -rw-r--r-- | src/DownloadFailureException.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/DownloadFailureException.h b/src/DownloadFailureException.h new file mode 100644 index 00000000..cbc859d2 --- /dev/null +++ b/src/DownloadFailureException.h @@ -0,0 +1,62 @@ +/* <!-- copyright */ +/* + * aria2 - The high speed download utility + * + * Copyright (C) 2006 Tatsuhiro Tsujikawa + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * In addition, as a special exception, the copyright holders give + * permission to link the code of portions of this program with the + * OpenSSL library under certain conditions as described in each + * individual source file, and distribute linked combinations + * including the two. + * You must obey the GNU General Public License in all respects + * for all of the code used other than OpenSSL. If you modify + * file(s) with this exception, you may extend this exception to your + * version of the file(s), but you are not obligated to do so. If you + * do not wish to do so, delete this exception statement from your + * version. If you delete this exception statement from all source + * files in the program, then also delete it here. + */ +/* copyright --> */ +#ifndef _D_DOWNLOAD_FAILURE_EXCEPTION_H_ +#define _D_DOWNLOAD_FAILURE_EXCEPTION_H_ +#include "RecoverableException.h" + +/** + * Throw this exception when a RequestGroup should aborted. + * FYI, DlAbortEx is the exception to abort 1 Request. + */ +class DownloadFailureException : public RecoverableException { +public: + DownloadFailureException(Exception* cause = 0):RecoverableException(cause) {} + + DownloadFailureException(const char* msg, ...) { + va_list ap; + va_start(ap, msg); + setMsg(string(msg), ap); + va_end(ap); + } + + DownloadFailureException(Exception* cause, const char* msg, ...):RecoverableException(cause) { + va_list ap; + va_start(ap, msg); + setMsg(string(msg), ap); + va_end(ap); + } +}; + +#endif // _D_DOWNLOAD_FAILURE_EXCEPTION_H_ |
