diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2007-07-31 16:45:16 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2007-07-31 16:45:16 +0000 |
| commit | 46e8c332cd63e52ccbd9ac3c895de4b59b9ac2f3 (patch) | |
| tree | 5eec8e6966c14ed576e75e9a7475e4a62abed55f /src/SocketCore.h | |
| parent | 8ca716529def7314cce645db24cd8927de6bff84 (diff) | |
2007-08-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Make a2netcompat.h include a2io.h to fix compilation error:
* src/a2netcompat.h
* src/SocketCore.cc: Removed include of a2io.h
* src/Util.cc: Removed include of a2io.h
Gather time related functions to a2time.h:
* src/a2time.h: New file.
* src/DefaultPeerStorage.cc
* src/SimpleLogger.cc
* src/Util.{h, cc}
* src/SimpleRandomizer.h
* src/TimeA2.{h,cc}
* src/DownloadCommand.cc
* src/main.cc
Removed #ifdef __MINGW32__ since gai_strerror is included in
a2netcompat.h:
* src/NameResolver.cc
Fixed compilation error without openssl:
* src/SocketCore.{h,cc}: Moved include of openssl/err.h to
SocketCore.h
Added default block to suppress compiler warnings:
* src/MetalinkRequestInfo.cc (AccumulateNonP2PUrl::operator())
2007-07-26 Ross Smith II <aria2spam at smithii dot com>
MinGW build enhancements. The following files are added:
* src/gai_strerror.{c,h}
* src/gettimeofday.{c,h}
Changes to support the above new files:
* configure.ac
* src/Makefile.am
* src/a2netcompat.h
* src/TimeA2.cc
* src/DefaultPeerStorage.cc
* src/NameResolver.cc: removed mingw_strerror() function.
* src/SocketCore.cc: removed mingw_strerror() function.
Miscellaneous MinGW build fixes.
* src/a2io.h: Use _lseeki64() instead of lseek()
* src/common.h
* src/DefaultFileAllocator.cc
* src/GlowFileAllocator.cc
* src/main.cc: Moved #include "prefs.h" to quiet compile error.
* src/NameResolver.cc
(callback): Changed int32_t to int.
(resolve): Changed int32_t to int.
* src/Platform.cc
* src/Platform.h
* test/MultiDiskWriterTest.cc
* test/PeerMessageUtilTest.cc
* src/localtime_r.c: Add DeleteCriticalSection() and at exit().
Other enhancements and fixes.
* src/HttpRequestCommand.cc
(executeInternal) Use non-blocking socket for HTTPS (MinGW
only).
* src/SocketCore.cc:
(error): New function to abstract errno/WSAGetLastError().
(errorMsg): New function to abstract errno/WSAGetLastError().
(initiateSecureConnection): Added more detailed error reporting.
* src/SocketCore.h: Added private variable blocking, to allow
proper handling of OpenSSL psuedo-errors.
* src/message.h
(EX_SSL_INIT_FAILURE)
(EX_SSL_IO_ERROR)
(EX_SSL_PROTOCOL_ERROR)
(EX_SSL_UNKNOWN_ERROR)
(EX_SSL_CONNECT_ERROR)
(EX_SOCKET_BLOCKING)
(EX_SOCKET_NONBLOCKING)
(EX_SOCKET_UNKNOWN_ERROR)
* src/Util.cc
(setGlobalSignalHandler): Renamed signal to sig as signal is a
reserved name.
(httpGMT): Fixed typo.
Diffstat (limited to 'src/SocketCore.h')
| -rw-r--r-- | src/SocketCore.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/SocketCore.h b/src/SocketCore.h index 4ec5f36d..6c35b1ef 100644 --- a/src/SocketCore.h +++ b/src/SocketCore.h @@ -42,6 +42,7 @@ #ifdef HAVE_LIBSSL // for SSL # include <openssl/ssl.h> +# include <openssl/err.h> #endif // HAVE_LIBSSL #ifdef HAVE_LIBGNUTLS # include <gnutls/gnutls.h> @@ -58,6 +59,7 @@ private: int32_t sockfd; // reference counter for this object. int32_t use; + bool blocking; bool secure; #ifdef HAVE_LIBSSL // for SSL @@ -79,6 +81,9 @@ private: void init(); SocketCore(int32_t sockfd); + static int error(); + static const char *errorMsg(); + static const char *errorMsg(const int err); public: SocketCore(); ~SocketCore(); @@ -123,12 +128,12 @@ public: */ void establishConnection(const string& host, int32_t port); - void setNonBlockingMode() const; + void setNonBlockingMode(); /** * Makes this socket blocking mode. */ - void setBlockingMode() const; + void setBlockingMode(); /** * Closes the connection of this socket. @@ -207,6 +212,5 @@ public: bool operator<(const SocketCore& s) { return sockfd < s.sockfd; } - }; #endif // _D_SOCKET_CORE_H_ |
