1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
33
34
35
36
37
38
39
40
41
42
43
44
45
46
54
55
58
59
60
61
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
95
96
97
104
105
106
111
112
113
114
115
116
117
118
119
120
121
122
123
125
126
127
128
129
130
131
132
133
/* ... */
/* ... */
#ifndef TCP6_EXT_HPP_
#define TCP6_EXT_HPP_
#include "openthread-core-config.h"
#include <openthread/tcp_ext.h>
#include "net/tcp6.hpp"
namespace ot {
namespace Ip6 {
/* ... */
/* ... */
class TcpCircularSendBuffer : public otTcpCircularSendBuffer
{
public:
/* ... */
void Initialize(void *aDataBuffer, size_t aCapacity);
/* ... */
Error Write(Tcp::Endpoint &aEndpoint, const void *aData, size_t aLength, size_t &aWritten, uint32_t aFlags);
/* ... */
void HandleForwardProgress(size_t aInSendBuffer);
/* ... */
size_t GetFreeSpace(void) const;
/* ... */
void ForceDiscardAll(void);
/* ... */
Error Deinitialize(void);
...
private:
size_t GetIndex(size_t aStart, size_t aOffsetFromStart) const;...
}{...};
}{...}
DefineCoreType(otTcpCircularSendBuffer, Ip6::TcpCircularSendBuffer);
}{...}
/* ... */
#endif