otTcpCircularSendBuffer

#include <tcp_ext.h>

TCP uç noktasıyla kullanılacak dairesel gönderme arabelleğini temsil eder.

Özet

Döngüsel gönderme arabelleği kullanmak isteğe bağlıdır. Uygulamalar, otLinkedBuffers'ı doğrudan yöneterek veri göndermek için TCP uç noktası kullanabilir. Bununla birlikte, bazı uygulamalar döngüsel gönderme arabelleği kullanmayı daha uygun bulabilir. Bu tür uygulamalar, TCP uç noktasına dairesel bir gönderme arabelleği "eklemek" ve söz konusu TCP uç noktasından veri göndermek için otTcpCircularSendBufferWrite() işlevini çağırabilir ve temel otLinkedBuffers'ı yönetmek için döngüsel gönderme arabelleğinden yararlanır.

otTcpCircularSendBuffer, bir otTcpEndpoint tarafından sağlanan otLinkedBuffer tabanlı API'nin üzerine uygulanır. otTcpEndpoint'e eklendikten sonra, bağlantı için otLinkedBuffers'ı yönetme işlemlerinin tamamını otTcpCircularSendBuffer yürütür. Diğer bir deyişle, otTcpEndpoint'e bir otTcpCircularSendBuffer eklendiğinde, uygulama söz konusu otTcpEndpoint üzerinde otTcpSendByReference() veya otTcpSendByExtension() çağrısı yapmamalıdır. otTcpEndpoint Bunun yerine, uygulama, gönderme arabelleğine veri eklemek için otTcpCircularSendBufferWrite() işlevini kullanmalıdır.

otTcpForwardProgress() geri çağırması, kullanıcıların dairesel gönderme arabelleğinde alan kullanılabilir olduğunda bunu öğrenmesinin amaçlanan yoludur. otTcpCircularSendBuffer'ın eklendiği bir otTcpEndpoint öğesinin eklendiği otTcpEndpoint sisteminde uygulamanın, geri çağırma işlevinin başındaki ekli otTcpCircularSendBuffer üzerinde, ekli otTcpCircularSendBuffer üzerinden bir otTcpForwardProgress() geri çağırması yüklemesi ve otTcpCircularSendBufferHandleForwardProgress() işlevini çağırması ZORUNLUDUR. otLinkedBuffers'ın tüm yönetimi döngüsel gönderme arabelleği tarafından işlendiği için kullanıcının bir otTcpSendDone() geri çağırması YÜKLEMEMESİ önerilir.

Uygulama, bu yapının alanlarını doğrudan incelememelidir; yalnızca imzası bu dosyada sağlanan TCP Circular Send Buffer API işlevleri aracılığıyla etkileşimde bulunmalıdır.

Herkese açık özellikler

mCapacity
size_t
Döngüsel gönderme arabelleğinin uzunluğu.
mCapacityUsed
size_t
Gönderme arabelleğinde depolanan bayt sayısı.
mDataBuffer
uint8_t *
Dairesel gönderme arabelleğindeki verilerin işaretçisi.
mFirstSendLinkIndex
uint8_t
mSendLinks[2]
mStartIndex
size_t
Gönderme arabelleğindeki ilk geçerli baytın dizini.

Herkese açık özellikler

mCapacity

size_t otTcpCircularSendBuffer::mCapacity

Döngüsel gönderme arabelleğinin uzunluğu.

mCapacityUsed

size_t otTcpCircularSendBuffer::mCapacityUsed

Gönderme arabelleğinde depolanan bayt sayısı.

mDataBuffer

uint8_t * otTcpCircularSendBuffer::mDataBuffer

Dairesel gönderme arabelleğindeki verilerin işaretçisi.

mFirstSendLinkIndex

uint8_t otTcpCircularSendBuffer::mFirstSendLinkIndex
otLinkedBuffer otTcpCircularSendBuffer::mSendLinks[2]

mStartIndex

size_t otTcpCircularSendBuffer::mStartIndex

Gönderme arabelleğindeki ilk geçerli baytın dizini.

Kaynaklar

OpenThread API Referans konuları, GitHub'da bulunan kaynak koddan gelir. Daha fazla bilgi edinmek veya dokümanlarımıza katkıda bulunmak için Kaynaklar bölümüne bakın.