Squashed 'third_party/ntcore_2016/' content from commit d8de5e4
Change-Id: Id4839f41b6a620d8bae58dcf1710016671cc4992
git-subtree-dir: third_party/ntcore_2016
git-subtree-split: d8de5e4f19e612e7102172c0dbf152ce82d3d63a
diff --git a/src/raw_socket_istream.h b/src/raw_socket_istream.h
new file mode 100644
index 0000000..91bcc1f
--- /dev/null
+++ b/src/raw_socket_istream.h
@@ -0,0 +1,32 @@
+/*----------------------------------------------------------------------------*/
+/* Copyright (c) FIRST 2015. All Rights Reserved. */
+/* Open Source Software - may be modified and shared by FRC teams. The code */
+/* must be accompanied by the FIRST BSD license file in the root directory of */
+/* the project. */
+/*----------------------------------------------------------------------------*/
+
+#ifndef NT_RAW_SOCKET_ISTREAM_H_
+#define NT_RAW_SOCKET_ISTREAM_H_
+
+#include "raw_istream.h"
+
+#include "tcpsockets/NetworkStream.h"
+
+namespace nt {
+
+class raw_socket_istream : public raw_istream {
+ public:
+ raw_socket_istream(NetworkStream& stream, int timeout = 0)
+ : m_stream(stream), m_timeout(timeout) {}
+ virtual ~raw_socket_istream() = default;
+ virtual bool read(void* data, std::size_t len);
+ virtual void close();
+
+ private:
+ NetworkStream& m_stream;
+ int m_timeout;
+};
+
+} // namespace nt
+
+#endif // NT_RAW_SOCKET_ISTREAM_H_