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
mSendLinks
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.