otTcpCircularSendBuffer
#include <tcp_ext.h>
TCP 엔드포인트와 함께 사용하기 위한 순환 전송 버퍼를 나타냅니다.
요약
순환 전송 버퍼 사용은 선택사항입니다. 애플리케이션은 TCP 엔드포인트를 사용하여 otLinkedBuffers를 직접 관리함으로써 데이터를 전송할 수 있습니다. 하지만 일부 애플리케이션에서는 순환 전송 버퍼를 사용하는 것이 더 편리할 수 있습니다. 이러한 애플리케이션은 otTcpCircularSendBufferWrite()를 호출하여 순환 전송 버퍼를 TCP 엔드포인트에 '연결'하고 이 TCP 엔드포인트의 데이터를 전송하며, 순환 전송 버퍼를 사용해 기본 otLinkedBuffers를 관리합니다.
otTcpCircularSendBuffer는 otTcpEndpoint에서 제공하는 otLinkedBuffer 기반 API 위에 구현됩니다. 일단 otTcpEndpoint에 연결되면 otTcpCircularSendBuffer가 연결의 otLinkedBuffers를 관리하는 모든 작업을 실행합니다. 즉, otTcpCircularSendBuffer가 otTcpEndpoint에 연결되면 애플리케이션이 해당 otTcpEndpoint에서 otTcpSendByReference() 또는 otTcpSendByExtension()을 호출해서는 안 됩니다. 대신 애플리케이션은 otTcpCircularSendBufferWrite()를 사용하여 전송 버퍼에 데이터를 추가해야 합니다.
otTcpForwardProgress() 콜백은 순환 전송 버퍼에서 공간을 사용할 수 있는 시점을 사용자가 알 수 있도록 만들어졌습니다. otTcpCircularSendBuffer가 연결된 otTcpEndpoint에서 애플리케이션은 otTcpForwardProgress() 콜백을 설치하고 콜백 함수 시작 시 연결된 otTcpCircularSendBuffer에서 otTcpCircularSendBufferHandleForwardProgress()를 호출해야 합니다(MUST). otLinkedBuffers의 모든 관리는 순환 전송 버퍼에서 처리하므로 사용자가 otTcpSendDone() 콜백을 설치하지 않는 것이 좋습니다.
애플리케이션은 이 구조의 필드를 직접 검사해서는 안 됩니다. 애플리케이션은 서명이 이 파일에 제공된 TCP Circular Send Buffer API 함수를 통해서만 상호작용해야 합니다.
공개 속성 |
|
---|---|
mCapacity
|
size_t
순환 전송 버퍼의 길이입니다.
|
mCapacityUsed
|
size_t
전송 버퍼에 저장된 바이트 수입니다.
|
mDataBuffer
|
uint8_t *
순환 전송 버퍼의 데이터를 가리키는 포인터입니다.
|
mFirstSendLinkIndex
|
uint8_t
|
mSendLinks[2]
|
|
mStartIndex
|
size_t
전송 버퍼에서 첫 번째 유효한 바이트의 색인.
|
공개 속성
mCapacity
size_t otTcpCircularSendBuffer::mCapacity
순환 전송 버퍼의 길이입니다.
mCapacityUsed
size_t otTcpCircularSendBuffer::mCapacityUsed
전송 버퍼에 저장된 바이트 수입니다.
mDataBuffer
uint8_t * otTcpCircularSendBuffer::mDataBuffer
순환 전송 버퍼의 데이터를 가리키는 포인터입니다.
mFirstSendLinkIndex
uint8_t otTcpCircularSendBuffer::mFirstSendLinkIndex
mSendLinks
otLinkedBuffer otTcpCircularSendBuffer::mSendLinks[2]
mStartIndex
size_t otTcpCircularSendBuffer::mStartIndex
전송 버퍼에서 첫 번째 유효한 바이트의 색인.
자료
OpenThread API 참조 주제는 GitHub에서 제공되는 소스 코드에서 비롯됩니다. 자세한 내용을 알아보거나 문서에 참여하려면 리소스를 참고하세요.