diff options
Diffstat (limited to 'core/io/stream_peer.h')
-rw-r--r-- | core/io/stream_peer.h | 44 |
1 files changed, 20 insertions, 24 deletions
diff --git a/core/io/stream_peer.h b/core/io/stream_peer.h index eb0f90ba50..7c20d10b10 100644 --- a/core/io/stream_peer.h +++ b/core/io/stream_peer.h @@ -32,14 +32,15 @@ #include "reference.h" class StreamPeer : public Reference { - GDCLASS( StreamPeer, Reference ); + GDCLASS(StreamPeer, Reference); OBJ_CATEGORY("Networking"); + protected: static void _bind_methods(); //bind helpers - Error _put_data(const PoolVector<uint8_t>& p_data); - Array _put_partial_data(const PoolVector<uint8_t>& p_data); + Error _put_data(const PoolVector<uint8_t> &p_data); + Array _put_partial_data(const PoolVector<uint8_t> &p_data); Array _get_data(int p_bytes); Array _get_partial_data(int p_bytes); @@ -47,14 +48,13 @@ protected: bool big_endian; public: + virtual Error put_data(const uint8_t *p_data, int p_bytes) = 0; ///< put a whole chunk of data, blocking until it sent + virtual Error put_partial_data(const uint8_t *p_data, int p_bytes, int &r_sent) = 0; ///< put as much data as possible, without blocking. - virtual Error put_data(const uint8_t* p_data,int p_bytes)=0; ///< put a whole chunk of data, blocking until it sent - virtual Error put_partial_data(const uint8_t* p_data,int p_bytes, int &r_sent)=0; ///< put as much data as possible, without blocking. - - virtual Error get_data(uint8_t* p_buffer, int p_bytes)=0; ///< read p_bytes of data, if p_bytes > available, it will block - virtual Error get_partial_data(uint8_t* p_buffer, int p_bytes,int &r_received)=0; ///< read as much data as p_bytes into buffer, if less was read, return in r_received + virtual Error get_data(uint8_t *p_buffer, int p_bytes) = 0; ///< read p_bytes of data, if p_bytes > available, it will block + virtual Error get_partial_data(uint8_t *p_buffer, int p_bytes, int &r_received) = 0; ///< read as much data as p_bytes into buffer, if less was read, return in r_received - virtual int get_available_bytes() const=0; + virtual int get_available_bytes() const = 0; void set_big_endian(bool p_enable); bool is_big_endian_enabled() const; @@ -69,8 +69,8 @@ public: void put_u64(uint64_t p_val); void put_float(float p_val); void put_double(double p_val); - void put_utf8_string(const String& p_string); - void put_var(const Variant& p_variant); + void put_utf8_string(const String &p_string); + void put_var(const Variant &p_variant); uint8_t get_u8(); int8_t get_8(); @@ -86,27 +86,25 @@ public: String get_utf8_string(int p_bytes); Variant get_var(); - - - StreamPeer() { big_endian=false; } + StreamPeer() { big_endian = false; } }; - class StreamPeerBuffer : public StreamPeer { - GDCLASS(StreamPeerBuffer,StreamPeer); + GDCLASS(StreamPeerBuffer, StreamPeer); PoolVector<uint8_t> data; int pointer; -protected: +protected: static void _bind_methods(); + public: - Error put_data(const uint8_t* p_data,int p_bytes); - Error put_partial_data(const uint8_t* p_data,int p_bytes, int &r_sent); + Error put_data(const uint8_t *p_data, int p_bytes); + Error put_partial_data(const uint8_t *p_data, int p_bytes, int &r_sent); - Error get_data(uint8_t* p_buffer, int p_bytes); - Error get_partial_data(uint8_t* p_buffer, int p_bytes,int &r_received); + Error get_data(uint8_t *p_buffer, int p_bytes); + Error get_partial_data(uint8_t *p_buffer, int p_bytes, int &r_received); virtual int get_available_bytes() const; @@ -115,8 +113,7 @@ public: int get_pos() const; void resize(int p_size); - - void set_data_array(const PoolVector<uint8_t> & p_data); + void set_data_array(const PoolVector<uint8_t> &p_data); PoolVector<uint8_t> get_data_array() const; void clear(); @@ -126,5 +123,4 @@ public: StreamPeerBuffer(); }; - #endif // STREAM_PEER_H |