mirror of
https://onedev.site.tesses.net/tesses-framework
synced 2026-02-08 15:55:46 +00:00
Make streams and vfs and http shared_ptr
This commit is contained in:
@@ -6,15 +6,13 @@ namespace Tesses::Framework::Streams
|
||||
class BufferedStream : public Stream
|
||||
{
|
||||
private:
|
||||
Stream* strm;
|
||||
bool owns;
|
||||
std::shared_ptr<Stream> strm;
|
||||
uint8_t* buffer;
|
||||
size_t bufferSize;
|
||||
size_t offset;
|
||||
size_t read;
|
||||
public:
|
||||
BufferedStream(Stream* strm, bool owns, size_t bufferSize=1024);
|
||||
BufferedStream(Stream& strm, size_t bufferSize=1024);
|
||||
BufferedStream(std::shared_ptr<Stream> strm, size_t bufferSize=1024);
|
||||
bool EndOfStream();
|
||||
bool CanRead();
|
||||
bool CanWrite();
|
||||
|
||||
@@ -4,12 +4,10 @@
|
||||
namespace Tesses::Framework::Streams
|
||||
{
|
||||
class ByteReader {
|
||||
Stream* strm;
|
||||
bool owns;
|
||||
std::shared_ptr<Stream> strm;
|
||||
public:
|
||||
Stream* GetStream();
|
||||
ByteReader(Stream* strm, bool owns);
|
||||
ByteReader(Stream& strm);
|
||||
std::shared_ptr<Stream> GetStream();
|
||||
ByteReader(std::shared_ptr<Stream> strm);
|
||||
uint8_t ReadU8();
|
||||
uint16_t ReadU16BE();
|
||||
uint16_t ReadU16LE();
|
||||
@@ -28,6 +26,5 @@ namespace Tesses::Framework::Streams
|
||||
float ReadF32LE();
|
||||
double ReadF64BE();
|
||||
double ReadF64LE();
|
||||
~ByteReader();
|
||||
};
|
||||
}
|
||||
@@ -4,12 +4,11 @@
|
||||
namespace Tesses::Framework::Streams
|
||||
{
|
||||
class ByteWriter {
|
||||
Stream* strm;
|
||||
bool owns;
|
||||
std::shared_ptr<Stream> strm;
|
||||
|
||||
public:
|
||||
Stream* GetStream();
|
||||
ByteWriter(Stream* strm, bool owns);
|
||||
ByteWriter(Stream& strm);
|
||||
std::shared_ptr<Stream> GetStream();
|
||||
ByteWriter(std::shared_ptr<Stream> strm);
|
||||
void WriteU8(uint8_t v);
|
||||
void WriteU16BE(uint16_t v);
|
||||
void WriteU16LE(uint16_t v);
|
||||
@@ -28,6 +27,5 @@ namespace Tesses::Framework::Streams
|
||||
void WriteF32LE(float v);
|
||||
void WriteF64BE(double v);
|
||||
void WriteF64LE(double v);
|
||||
~ByteWriter();
|
||||
};
|
||||
}
|
||||
@@ -15,7 +15,7 @@ namespace Tesses::Framework::Streams
|
||||
TcpServer(uint16_t port, int32_t backlog);
|
||||
TcpServer(std::string ip, uint16_t port, int32_t backlog);
|
||||
TcpServer(std::string unixPath,int32_t backlog);
|
||||
NetworkStream* GetStream(std::string& ip, uint16_t& port);
|
||||
std::shared_ptr<NetworkStream> GetStream(std::string& ip, uint16_t& port);
|
||||
uint16_t GetPort();
|
||||
~TcpServer();
|
||||
bool IsValid();
|
||||
@@ -45,7 +45,7 @@ namespace Tesses::Framework::Streams
|
||||
void Listen(int32_t backlog);
|
||||
void Bind(std::string ip, uint16_t port);
|
||||
void SetBroadcast(bool bC);
|
||||
NetworkStream* Accept(std::string& ip, uint16_t& port);
|
||||
std::shared_ptr<NetworkStream> Accept(std::string& ip, uint16_t& port);
|
||||
size_t Read(uint8_t* buff, size_t sz);
|
||||
size_t Write(const uint8_t* buff, size_t sz);
|
||||
size_t ReadFrom(uint8_t* buff, size_t sz, std::string& ip, uint16_t& port);
|
||||
|
||||
@@ -23,8 +23,7 @@ namespace Tesses::Framework::Streams
|
||||
virtual int64_t GetLength();
|
||||
virtual void Flush();
|
||||
virtual void Seek(int64_t pos, SeekOrigin whence);
|
||||
void CopyTo(Stream* strm, size_t buffSize=1024);
|
||||
void CopyTo(Stream& strm, size_t buffSize=1024);
|
||||
void CopyTo(std::shared_ptr<Stream> strm, size_t buffSize=1024);
|
||||
virtual ~Stream();
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user