add sendfile method for streamsocket (#4007)

* add sendfile method for streamsocket

* add mswsock.lib to the project files and templates

* remove /DPOCO_NO_AUTOMATIC_LIBS for cmake windows build

* merge from upstream

* merge from upstream

* fix code stile
add NotImplemented exception for unsupported platforms
exculude <sys/sendfile.h> for POCO_EMSCRIPTEN, because https://
github.com/emscripten-core/emscripten/pull/16234

* add iostream include for std::cout

* fix compilation for emscripten (wrap sendfile)
This commit is contained in:
Alexander B
2023-12-11 12:47:03 +03:00
committed by GitHub
parent 689a81c4c4
commit 24b7122f43
107 changed files with 350 additions and 99 deletions

View File

@@ -47,6 +47,9 @@ class Foundation_API FileIOS: public virtual std::ios
/// On Windows platforms, UTF-8 encoded Unicode paths are correctly handled.
{
public:
using NativeHandle = FileStreamBuf::NativeHandle;
FileIOS();
/// Creates the basic stream.
@@ -63,6 +66,12 @@ public:
FileStreamBuf* rdbuf();
/// Returns a pointer to the underlying streambuf.
NativeHandle nativeHandle() const;
/// Returns native file descriptor handle
Poco::UInt64 size() const;
/// Returns file size
protected:
FileStreamBuf _buf;
};