+// ***************************************************************************
+// TcpSocketEngine_p.h (c) 2011 Derek Barnett
+// Marth Lab, Department of Biology, Boston College
+// ---------------------------------------------------------------------------
+// Last modified: 8 December 2011 (DB)
+// ---------------------------------------------------------------------------
+// Provides low-level implementation of TCP I/O
+// ***************************************************************************
+
#ifndef TCPSOCKETENGINE_P_H
#define TCPSOCKETENGINE_P_H
+// -------------
+// W A R N I N G
+// -------------
+//
+// This file is not part of the BamTools API. It exists purely as an
+// implementation detail. This header file may change from version to version
+// without notice, or even be removed.
+//
+// We mean it.
+
#include "api/internal/io/HostAddress_p.h"
#include "api/internal/io/TcpSocket_p.h"
+#ifdef _WIN32
+# include "api/internal/io/NetWin_p.h"
+#endif
+
namespace BamTools {
namespace Internal {
bool nativeConnect(const HostAddress& address, const uint16_t port);
bool nativeCreateSocket(HostAddress::NetworkProtocol protocol);
void nativeDisconnect(void);
- bool nativeFetchConnectionParameters(void);
- int64_t nativeNumBytesAvailable(void) const;
+ int64_t nativeNumBytesAvailable(void) const;
int64_t nativeRead(char* dest, size_t max);
int nativeSelect(int msecs, bool isRead) const;
int64_t nativeWrite(const char* data, size_t length);
TcpSocket::SocketError m_socketError;
TcpSocket::SocketState m_socketState;
std::string m_errorString;
+
+#ifdef _WIN32
+ WindowsSockInit m_win;
+#endif
};
} // namespace Internal