@@ -26,7 +26,7 @@ namespace tbox {
26
26
namespace network {
27
27
28
28
/* *
29
- * 缓冲区类
29
+ * 缓冲区类
30
30
*
31
31
* buffer_ptr_ buffer_size_
32
32
* | |
@@ -38,17 +38,17 @@ namespace network {
38
38
* | |
39
39
* read_index_ write_index_
40
40
*
41
- * 使用示例:
41
+ * 使用示例:
42
42
* Buffer b;
43
- * b.append("abc", 4); //! 往缓冲中写入4字节的数据
43
+ * b.append("abc", 4); //! 往缓冲中写入4字节的数据
44
44
* char buff[10];
45
- * b.fetch(buff, 4); //! 从缓冲中取出4字节的数据
45
+ * b.fetch(buff, 4); //! 从缓冲中取出4字节的数据
46
46
*
47
- * b.ensureWritableSize(10); //! 预留10个字节
48
- * memset(b.writableBegin(), 0xcc, 10); //! 将该10个字节全置为0xcc
49
- * b.hasWritten(10); //! 标该已写入10个字节
47
+ * b.ensureWritableSize(10); //! 预留10个字节
48
+ * memset(b.writableBegin(), 0xcc, 10); //! 将该10个字节全置为0xcc
49
+ * b.hasWritten(10); //! 标该已写入10个字节
50
50
*
51
- * \warnning 多线程使用需在外部加锁
51
+ * \warnning 多线程使用需在外部加锁
52
52
*/
53
53
class Buffer {
54
54
public:
@@ -68,62 +68,62 @@ class Buffer {
68
68
69
69
public:
70
70
/* *
71
- * 写缓冲操作
71
+ * 写缓冲操作
72
72
*/
73
73
74
- // ! 获取可写空间大小
74
+ // ! 获取可写空间大小
75
75
inline size_t writableSize () const { return buffer_size_ - write_index_; }
76
76
77
- // ! 保障有指定容量的可写空间
77
+ // ! 保障有指定容量的可写空间
78
78
bool ensureWritableSize (size_t write_size);
79
79
80
- // ! 获取写首地址
80
+ // ! 获取写首地址
81
81
inline uint8_t * writableBegin () const {
82
82
return (buffer_ptr_ != nullptr ) ? (buffer_ptr_ + write_index_) : nullptr ;
83
83
}
84
84
85
- // ! 标记已写入数据大小
85
+ // ! 标记已写入数据大小
86
86
void hasWritten (size_t write_size);
87
87
88
- // ! 往缓冲区追加指定的数据块,返回实现写入的大小
88
+ // ! 往缓冲区追加指定的数据块,返回实现写入的大小
89
89
size_t append (const void *p_data, size_t data_size);
90
90
91
91
/* *
92
- * 读缓冲操作
92
+ * 读缓冲操作
93
93
*/
94
94
95
- // ! 获取可读区域大小
95
+ // ! 获取可读区域大小
96
96
inline size_t readableSize () const { return write_index_ - read_index_; }
97
97
98
- // ! 获取可读区首地址
98
+ // ! 获取可读区首地址
99
99
inline uint8_t * readableBegin () const {
100
100
return (buffer_ptr_ != nullptr ) ? (buffer_ptr_ + read_index_) : nullptr ;
101
101
}
102
102
103
- // ! 标记已读数据大小
103
+ // ! 标记已读数据大小
104
104
void hasRead (size_t read_size);
105
105
106
- // ! 标记已读取全部数据
106
+ // ! 标记已读取全部数据
107
107
void hasReadAll ();
108
108
109
- // ! 从缓冲区读取指定的数据块,返回实际读到的数据大小
109
+ // ! 从缓冲区读取指定的数据块,返回实际读到的数据大小
110
110
size_t fetch (void *p_buff, size_t buff_size);
111
111
112
112
/* *
113
- * 其它
113
+ * 其它
114
114
*/
115
- // ! 缩减缓冲多余容量
115
+ // ! 缩减缓冲多余容量
116
116
void shrink ();
117
117
118
118
protected:
119
119
void cloneFrom (const Buffer &other);
120
120
121
121
private:
122
- uint8_t *buffer_ptr_ = nullptr ; // ! 缓冲区地址
123
- size_t buffer_size_ = 0 ; // ! 缓冲区大小
122
+ uint8_t *buffer_ptr_ = nullptr ; // ! 缓冲区地址
123
+ size_t buffer_size_ = 0 ; // ! 缓冲区大小
124
124
125
- size_t read_index_ = 0 ; // ! 读位置偏移
126
- size_t write_index_ = 0 ; // ! 写位置偏移
125
+ size_t read_index_ = 0 ; // ! 读位置偏移
126
+ size_t write_index_ = 0 ; // ! 写位置偏移
127
127
};
128
128
129
129
}
0 commit comments