Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.
Trang này được dịch bởi Cloud Translation API.
Switch to English

nl :: Dệt :: ExchangeContext

#include <src/lib/core/WeaveExchangeMgr.h>

Lớp này đại diện cho một cuộc hội thoại đang diễn ra ( ExchangeContext ) giữa hai hoặc nhiều nút.

Tóm lược

Nó xác định các phương pháp để mã hóa và giao tiếp các thông điệp Weave trong một ExchangeContext qua các cơ chế truyền tải khác nhau, ví dụ: TCP, UDP hoặc Weave Trusted Messaging.

Các loại công khai

@34 {
kSendFlag_AutoRetrans = 0x0001,
kSendFlag_ExpectResponse = 0x0002,
kSendFlag_RetransmissionTrickle = 0x0004,
kSendFlag_DelaySend = 0x0008,
kSendFlag_ReuseMessageId = 0x0010,
kSendFlag_ReuseSourceId = 0x0020,
kSendFlag_RetainBuffer = 0x0040,
kSendFlag_AlreadyEncoded = 0x0080,
kSendFlag_DefaultMulticastSourceAddress = 0x0100,
kSendFlag_FromInitiator = 0x0200,
kSendFlag_RequestAck = 0x0400,
kSendFlag_NoAutoRequestAck = 0x0800,
kSendFlag_MulticastFromLinkLocal = kSendFlag_DefaultMulticastSourceAddress
}
enum
@35 {
kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
enum
ConnectionClosedFunct )(ExchangeContext *ec, WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
Hàm này là lệnh gọi lại của ứng dụng để gọi khi kết nối Weave hiện có đã bị đóng.
KeyErrorFunct )(ExchangeContext *ec, WEAVE_ERROR keyErr) typedef
void(*
Loại chức năng xử lý thông báo lỗi chính.
MessageReceiveFunct )(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload) typedef
void(*
Chức năng này là lệnh gọi lại của ứng dụng để xử lý một tin nhắn Weave đã nhận.
ResponseTimeoutFunct )(ExchangeContext *ec) typedef
void(*
Hàm này là ứng dụng gọi lại để gọi khi hết thời gian chờ nhận thông báo phản hồi.
RetransmissionTimeoutFunct )(ExchangeContext *ec) typedef
void(*
Hàm này là ứng dụng gọi lại để gọi khi hết thời gian chờ truyền lại một tin nhắn đã gửi trước đó.
Timeout typedef
uint32_t
Loại được sử dụng để thể hiện thời gian chờ trong ExchangeContext này, tính bằng mili giây.
WRMPAckRcvdFunct )(ExchangeContext *ec, void *msgCtxt) typedef
void(*
Chức năng này là lệnh gọi lại của ứng dụng để gọi khi nhận được Thông báo xác nhận cho một tin nhắn Weave yêu cầu như một phần của Giao thức nhắn tin đáng tin cậy Weave.
WRMPPauseRcvdFunct )(ExchangeContext *ec, uint32_t pauseTime) typedef
void(*
Chức năng này là ứng dụng gọi lại để gọi khi nhận được tin nhắn Throttle hoặc tin nhắn Chuyển phát chậm như một phần của Giao thức nhắn tin đáng tin cậy Weave.
WRMPSendErrorFunct )(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt) typedef
void(*
Chức năng này là ứng dụng gọi lại để gọi khi gặp lỗi trong khi gửi tin nhắn Weave.

Thuộc tính công cộng

AllowDuplicateMsgs
bool
Chỉ báo Boolean về việc có cho phép các thư trùng lặp đối với một trao đổi nhất định hay không.
AppState
void *
Con trỏ đến đối tượng trạng thái dành riêng cho ứng dụng.
Con
[CHỈ ĐỌC] Kết nối Weave được liên kết.
EncryptionType
uint8_t
Loại mã hóa để sử dụng khi gửi tin nhắn.
ExchangeId
uint16_t
[CHỈ ĐỌC] ID trao đổi được chỉ định.
ExchangeMgr
[CHỈ ĐỌC] Sở hữu trình quản lý trao đổi.
KeyId
uint16_t
Khóa mã hóa để sử dụng khi gửi tin nhắn.
OnAckRcvd
Ứng dụng gọi lại cho xác nhận đã nhận.
OnConnectionClosed
OnDDRcvd
Ứng dụng sẽ gọi lại cho tin nhắn Gửi chậm đã nhận được.
OnKeyError
Chức năng này là ứng dụng gọi lại để gọi khi nhận được thông báo lỗi chính từ máy ngang hàng.
OnMessageReceived
OnResponseTimeout
OnRetransmissionTimeout
OnSendError
Ứng dụng gọi lại cho lỗi khi gửi.
OnThrottleRcvd
Ứng dụng gọi lại cho tin nhắn Throttle đã nhận.
PeerAddr
IPAddress
[CHỈ ĐỌC] Địa chỉ IP của nút ngang hàng.
PeerIntf
InterfaceId
[CHỈ ĐỌC] Giao diện gửi đi được sử dụng khi gửi tin nhắn cho đồng nghiệp.
PeerNodeId
uint64_t
[CHỈ ĐỌC] ID nút của nút ngang hàng.
PeerPort
uint16_t
[CHỈ ĐỌC] Cổng của nút ngang hàng.
ResponseTimeout
Thời gian tối đa để chờ phản hồi (tính bằng mili giây); 0 tắt thời gian chờ phản hồi.
RetransInterval
uint32_t
Thời gian giữa các lần truyền lại (tính bằng mili giây); 0 tắt truyền lại.
mMsgProtocolVersion
uint16_t
Phiên bản Giao thức Thông báo cho ExchangeContext .
mWRMPConfig
Cấu hình WRMP.

Chức năng công cộng

Abort (void)
void
Hủy bỏ bối cảnh Exchange ngay lập tức và giải phóng tất cả các tham chiếu đến nó.
AddRef (void)
void
Tăng bộ đếm tham chiếu cho ngữ cảnh trao đổi lên một.
AutoRequestAck () const
bool
Trả về liệu một xác nhận sẽ được yêu cầu bất cứ khi nào một tin nhắn được gửi đi.
CancelRetrans (void)
void
Hủy cơ chế truyền lại Trickle.
Close (void)
void
Đóng một cách duyên dáng một bối cảnh trao đổi.
EncodeExchHeader ( WeaveExchangeHeader *exchangeHeader, uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags)
Mã hóa tiêu đề trao đổi thành bộ đệm tin nhắn.
GetAutoReleaseKey () const
bool
Trả lại xem khóa mã hóa được liên kết với sàn giao dịch có được giải phóng khi sàn giao dịch được giải phóng hay không.
GetCurrentRetransmitTimeout (void)
uint32_t
Nhận thời gian chờ truyền lại hiện tại.
GetPeerDescription (char *buf, uint32_t bufSize) const
void
Xây dựng một chuỗi mô tả nút ngang hàng và địa chỉ / thông tin kết nối liên quan của nó.
HandleTrickleMessage (const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo)
void
Xử lý tin nhắn nhỏ giọt trong bối cảnh trao đổi.
HasPeerRequestedAck (void) const
bool
Xác định xem bạn có yêu cầu xác nhận cho ít nhất một tin nhắn trên trao đổi này hay không.
HasRcvdMsgFromPeer (void) const
bool
Xác định xem có ít nhất một tin nhắn đã được nhận trên sàn giao dịch này từ đồng nghiệp hay không.
IsAckPending (void) const
bool
Xác định xem đã có một xác nhận đang chờ được gửi đến đồng nghiệp trên sàn giao dịch này hay chưa.
IsConnectionClosed (void) const
bool
Xác định xem ExchangeContextWeaveConnection đang hoạt động được liên kết hay không .
IsInitiator (void) const
bool
Xác định xem bối cảnh có phải là người khởi xướng trao đổi hay không.
IsResponseExpected (void) const
bool
Xác định xem có mong đợi phản hồi cho các tin nhắn được gửi qua trao đổi này hay không.
Release (void)
void
Phát hành tham chiếu đến bối cảnh trao đổi này.
SendCommonNullMessage (void)
Gửi tin nhắn Common :: Null.
SendMessage (uint32_t profileId, uint8_t msgType, PacketBuffer *msgPayload, uint16_t sendFlags, void *msgCtxt)
Gửi tin nhắn Weave trên sàn giao dịch này.
SendMessage (uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags, WeaveMessageInfo *msgInfo, void *msgCtxt)
Gửi tin nhắn Weave trên sàn giao dịch này.
SetAckPending (bool inAckPending)
void
Đặt nếu một xác nhận cần được gửi lại cho ngang hàng trên sàn giao dịch này.
SetAutoReleaseKey (bool autoReleaseKey)
void
Đặt xem khóa mã hóa được liên kết với trao đổi có được phát hành khi trao đổi được giải phóng hay không.
SetAutoRequestAck (bool autoReqAck)
void
Đặt xem có nên yêu cầu xác nhận hay không bất cứ khi nào tin nhắn được gửi đi.
SetConnectionClosed (bool inConnectionClosed)
void
Đặt bit cờ kFlagConnectionClosed.
SetDropAck (bool inDropAck)
void
Đặt liệu WeaveExchangeManager không gửi xác nhận cho ngữ cảnh này hay không.
SetInitiator (bool inInitiator)
void
Đặt bit cờ kFlagInitiator.
SetMsgRcvdFromPeer (bool inMsgRcvdFromPeer)
void
Đặt nếu một tin nhắn đã được nhận từ người ngang hàng trên sàn giao dịch này.
SetPeerRequestedAck (bool inPeerRequestedAck)
void
Đặt nếu một xác nhận được yêu cầu trong tin nhắn cuối cùng nhận được trên trao đổi này.
SetResponseExpected (bool inResponseExpected)
void
Đặt xem có phản hồi được mong đợi trên trao đổi này hay không.
SetShouldAutoReleaseConnection (bool autoReleaseCon)
void
Đặt liệu kết nối Weave được liên kết với sàn giao dịch có được giải phóng khi sàn giao dịch được giải phóng hay không.
SetupTrickleRetransmit (uint32_t retransInterval, uint8_t threshold, uint32_t timeout)
Thiết lập cơ chế truyền lại nhỏ giọt bằng cách đặt khoảng thời gian truyền lại và ngưỡng phát lại tương ứng.
ShouldAutoReleaseConnection () const
bool
Trả lại xem kết nối Weave được liên kết với sàn giao dịch có được giải phóng khi sàn giao dịch được giải phóng hay không.
ShouldDropAck (void) const
bool
Xác định xem WeaveExchangeManager có nên gửi xác nhận hay không.
StartTimerT (void)
Khởi động cơ chế hẹn giờ truyền lại định kỳ của thuật toán Trickle.
TeardownTrickleRetransmit (void)
void
Xé bỏ cơ chế truyền lại Trickle bằng cách hủy bộ hẹn giờ định kỳ trong Trickle và giải phóng bộ đệm tin nhắn giữ tin nhắn Weave.
UseEphemeralUDPPort (void) const
bool
Trả lại xem liệu các thư gửi đi được gửi qua sàn giao dịch có được gửi từ cổng UDP tạm thời cục bộ hay không.
WRMPFlushAcks (void)
WRMPSendDelayedDelivery (uint32_t PauseTimeMillis, uint64_t DelayedNodeId)
Gửi tin nhắn Gửi chậm để thông báo cho nút người gửi rằng tin nhắn đã gửi trước đó của nó sẽ bị trễ dự kiến ​​trước khi được gửi đến người nhận.
WRMPSendThrottleFlow (uint32_t PauseTimeMillis)
Gửi một thông điệp Throttle Flow đến nút ngang hàng yêu cầu nó điều chỉnh việc gửi tin nhắn.

Các loại công khai

@ 34

 @34
Tính chất
kSendFlag_AlreadyEncoded

Được sử dụng để chỉ ra rằng tin nhắn đã được mã hóa.

kSendFlag_AutoRetrans

Được sử dụng để chỉ ra rằng truyền lại tự động được bật.

kSendFlag_DefaultMulticastSourceAddress

Được sử dụng để chỉ ra rằng lựa chọn địa chỉ nguồn IPv6 mặc định sẽ được sử dụng khi gửi tin nhắn đa hướng IPv6.

kSendFlag_DelaySend

Được sử dụng để chỉ ra rằng việc gửi tin nhắn hiện tại cần bị trì hoãn.

kSendFlag_ExpectResponse

Được sử dụng để chỉ ra rằng một phản hồi được mong đợi trong thời gian chờ được chỉ định.

kSendFlag_FromInitiator

Được sử dụng để chỉ ra rằng tin nhắn hiện tại là người khởi tạo trao đổi.

kSendFlag_MulticastFromLinkLocal

Bí danh không được dùng nữa cho kSendFlag_DefaultMulticastSourceAddress .

kSendFlag_NoAutoRequestAck

Tắt tính năng tự động xác nhận yêu cầu khi gửi tin nhắn.

kSendFlag_RequestAck

Được sử dụng để gửi một thông báo WRM yêu cầu xác nhận.

kSendFlag_RetainBuffer

Được sử dụng để chỉ ra rằng bộ đệm thư sẽ không được giải phóng sau khi gửi.

kSendFlag_RetransmissionTrickle

Dùng để chỉ yêu cầu truyền lại cho Trickle.

kSendFlag_ReuseMessageId

Được sử dụng để chỉ ra rằng ID thư trong tiêu đề thư có thể được sử dụng lại.

kSendFlag_ReuseSourceId

Được sử dụng để chỉ ra rằng ID nút nguồn trong tiêu đề thư có thể được sử dụng lại.

@ 35

 @35
Tính chất
kGetPeerDescription_MaxLength

Độ dài tối đa của chuỗi (bao gồm cả ký tự NUL) được trả về bởi GetPeerDescription () .

ConnectionClosedFunct

void(* ConnectionClosedFunct)(ExchangeContext *ec, WeaveConnection *con, WEAVE_ERROR conErr)

Hàm này là lệnh gọi lại của ứng dụng để gọi khi kết nối Weave hiện có đã bị đóng.

Chi tiết
Thông số
[in] ec
Một con trỏ đến đối tượng ExchangeContext .
[in] con
Một con trỏ đến đối tượng WeaveConnection .
[in] conErr
Loại WEAVE_ERROR đã được báo cáo khi kết nối bị đóng.

KeyErrorFunct

void(* KeyErrorFunct)(ExchangeContext *ec, WEAVE_ERROR keyErr)

Loại chức năng xử lý thông báo lỗi chính.

Chi tiết
Thông số
[in] ec
Một con trỏ đến đối tượng ExchangeContext .
[in] keyErr
Loại WEAVE_ERROR đã được báo cáo trong thông báo lỗi chính.

MessageReceiveFunct

void(* MessageReceiveFunct)(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)

Chức năng này là lệnh gọi lại của ứng dụng để xử lý một tin nhắn Weave đã nhận.

Chi tiết
Thông số
[in] ec
Một con trỏ đến đối tượng ExchangeContext .
[in] pktInfo
Một con trỏ đến đối tượng IPPacketInfo.
[in] msgInfo
Một con trỏ đến đối tượng WeaveMessageInfo .
[in] profileId
Định danh hồ sơ của tin nhắn đã nhận.
[in] msgType
Loại thông báo của cấu hình tương ứng.
[in] payload
Một con trỏ đến đối tượng PacketBuffer đang giữ tải trọng tin nhắn.

ResponseTimeoutFunct

void(* ResponseTimeoutFunct)(ExchangeContext *ec)

Hàm này là ứng dụng gọi lại để gọi khi hết thời gian chờ nhận thông báo phản hồi.

Chi tiết
Thông số
[in] ec
Một con trỏ đến đối tượng ExchangeContext .

RetransmissionTimeoutFunct

void(* RetransmissionTimeoutFunct)(ExchangeContext *ec)

Hàm này là lệnh gọi lại của ứng dụng để gọi khi hết thời gian chờ truyền lại một tin nhắn đã gửi trước đó.

Chi tiết
Thông số
[in] ec
Một con trỏ đến đối tượng ExchangeContext .

Hết giờ

uint32_t Timeout

Loại được sử dụng để thể hiện thời gian chờ trong ExchangeContext này, tính bằng mili giây.

WRMPAckRcvdFunct

void(* WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt)

Chức năng này là lệnh gọi lại của ứng dụng để gọi khi nhận được một Xác nhận cho một tin nhắn Weave yêu cầu một tin nhắn như một phần của Giao thức nhắn tin đáng tin cậy Weave.

Chi tiết
Thông số
[in] ec
Một con trỏ đến đối tượng ExchangeContext .
[in] msgCtxt
Một con trỏ đến một số đối tượng ngữ cảnh cụ thể được liên kết với thông báo gốc đang được xác nhận.

WRMPPauseRcvdFunct

void(* WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime)

Chức năng này là ứng dụng gọi lại để gọi khi nhận được tin nhắn Throttle hoặc tin nhắn Chuyển phát chậm như một phần của Giao thức nhắn tin đáng tin cậy Weave.

Mỗi tin nhắn trong số này được đi kèm với một giá trị thời gian (tính bằng mili giây) báo hiệu thời gian tạm dừng gửi tin nhắn Weave trên ExchangeContext này.

Chi tiết
Thông số
[in] ec
Một con trỏ đến đối tượng ExchangeContext .
[in] pauseTime
Thời gian tạm dừng truyền (tính bằng mili giây).

WRMPSendErrorFunct

void(* WRMPSendErrorFunct)(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt)

Chức năng này là ứng dụng gọi lại để gọi khi gặp lỗi trong khi gửi tin nhắn Weave.

Chi tiết
Thông số
[in] ec
Một con trỏ đến đối tượng ExchangeContext .
[in] err
Loại WEAVE_ERROR gặp phải trong quá trình gửi tin nhắn.
[in] msgCtxt
Một con trỏ đến một số đối tượng ngữ cảnh cụ thể được liên kết với thông báo gốc đang được báo cáo.

Thuộc tính công cộng

AllowDuplicateMsgs

bool AllowDuplicateMsgs

Chỉ báo Boolean về việc có cho phép các thư trùng lặp đối với một trao đổi nhất định hay không.

AppState

void * AppState

Con trỏ đến đối tượng trạng thái dành riêng cho ứng dụng.

Con

WeaveConnection * Con

[CHỈ ĐỌC] Kết nối Weave được liên kết.

EncryptionType

uint8_t EncryptionType

Loại mã hóa để sử dụng khi gửi tin nhắn.

ExchangeId

uint16_t ExchangeId

[CHỈ ĐỌC] ID trao đổi được chỉ định.

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[CHỈ ĐỌC] Sở hữu trình quản lý trao đổi.

KeyId

uint16_t KeyId

Khóa mã hóa để sử dụng khi gửi tin nhắn.

OnAckRcvd

WRMPAckRcvdFunct OnAckRcvd

Ứng dụng gọi lại cho xác nhận đã nhận.

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnDDRcvd

WRMPPauseRcvdFunct OnDDRcvd

Ứng dụng sẽ gọi lại cho tin nhắn Gửi chậm đã nhận được.

OnKeyError

KeyErrorFunct OnKeyError

Chức năng này là ứng dụng gọi lại để gọi khi nhận được thông báo lỗi khóa từ máy ngang hàng.

OnMessageReceive

MessageReceiveFunct OnMessageReceived

OnResponseTimeout

ResponseTimeoutFunct OnResponseTimeout

OnRetransmissionTimeout

RetransmissionTimeoutFunct OnRetransmissionTimeout

OnSendError

WRMPSendErrorFunct OnSendError

Ứng dụng gọi lại cho lỗi khi gửi.

OnThrottleRcvd

WRMPPauseRcvdFunct OnThrottleRcvd

Ứng dụng gọi lại cho tin nhắn Throttle đã nhận.

PeerAddr

IPAddress PeerAddr

[CHỈ ĐỌC] Địa chỉ IP của nút ngang hàng.

PeerIntf

InterfaceId PeerIntf

[CHỈ ĐỌC] Giao diện gửi đi được sử dụng khi gửi tin nhắn cho đồng nghiệp.

(Chỉ có ý nghĩa đối với UDP.)

PeerNodeId

uint64_t PeerNodeId

[CHỈ ĐỌC] ID nút của nút ngang hàng.

PeerPort

uint16_t PeerPort

[CHỈ ĐỌC] Cổng của nút ngang hàng.

ResponseTimeout

Timeout ResponseTimeout

Thời gian tối đa để chờ phản hồi (tính bằng mili giây); 0 tắt thời gian chờ phản hồi.

RetransInterval

uint32_t RetransInterval

Thời gian giữa các lần truyền lại (tính bằng mili giây); 0 tắt truyền lại.

mMsgProtocolVersion

uint16_t mMsgProtocolVersion

Phiên bản Giao thức Thông báo cho ExchangeContext .

mWRMPConfig

WRMPConfig mWRMPConfig

Cấu hình WRMP.

Chức năng công cộng

Huỷ bỏ

void Abort(
  void
)

Hủy bỏ bối cảnh Exchange ngay lập tức và giải phóng tất cả các tham chiếu đến nó.

AddRef

void AddRef(
  void
)

Tăng bộ đếm tham chiếu cho ngữ cảnh trao đổi lên một.

AutoRequestAck

bool AutoRequestAck() const 

Trả về liệu một xác nhận sẽ được yêu cầu bất cứ khi nào một tin nhắn được gửi đi.

CancelRetrans

void CancelRetrans(
  void
)

Hủy cơ chế truyền lại Trickle.

Đóng

void Close(
  void
)

Đóng một cách duyên dáng một bối cảnh trao đổi.

Lệnh gọi này làm giảm số lượng tham chiếu và giải phóng trao đổi khi số lượng tham chiếu bằng không.

EncodeExchHeader

WEAVE_ERROR EncodeExchHeader(
  WeaveExchangeHeader *exchangeHeader,
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *msgBuf,
  uint16_t sendFlags
)

Mã hóa tiêu đề trao đổi thành bộ đệm tin nhắn.

Chi tiết
Thông số
[in] exchangeHeader
Một con trỏ đến đối tượng tiêu đề Weave Exchange.
[in] profileId
Định danh hồ sơ của tin nhắn Weave sẽ được gửi.
[in] msgType
Loại thông báo của cấu hình tương ứng.
[in] msgBuf
Một con trỏ đến PacketBuffer cần thiết cho thông báo Weave.
[in] sendFlags
Cờ do ứng dụng đặt cho tin nhắn Weave đang được gửi.
Giá trị trả lại
WEAVE_ERROR_BUFFER_TOO_SMALL
Nếu bộ đệm thông báo không có đủ không gian để mã hóa tiêu đề trao đổi.
WEAVE_NO_ERROR
Nếu mã hóa thông báo thành công.

GetAutoReleaseKey

bool GetAutoReleaseKey() const 

Trả lại xem khóa mã hóa được liên kết với sàn giao dịch có được giải phóng khi sàn giao dịch được giải phóng hay không.

GetCurrentRetransmitTimeout

uint32_t GetCurrentRetransmitTimeout(
  void
)

Nhận thời gian chờ truyền lại hiện tại.

Nó sẽ là thời gian chờ truyền lại ban đầu hoặc đang hoạt động dựa trên việc ExchangeContext có trao đổi tin nhắn đang hoạt động với đồng đẳng của nó hay không.

Chi tiết
Lợi nhuận
thời gian truyền lại hiện tại.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  uint32_t bufSize
) const 

Xây dựng một chuỗi mô tả nút ngang hàng và địa chỉ / thông tin kết nối liên quan của nó.

Chi tiết
Thông số
[in] buf
Một con trỏ tới bộ đệm mà chuỗi sẽ được ghi vào. Bộ đệm được cung cấp ít nhất phải lớn bằng kGetPeerDescription_MaxLength. Nếu một bộ đệm nhỏ hơn được cung cấp, chuỗi sẽ được cắt bớt để vừa. Đầu ra sẽ bao gồm một ký tự kết thúc NUL trong mọi trường hợp.
[in] bufSize
Kích thước của bộ đệm do buf trỏ vào.

HandleTrickleMessage

void HandleTrickleMessage(
  const IPPacketInfo *pktInfo,
  const WeaveMessageInfo *msgInfo
)

Xử lý tin nhắn nhỏ giọt trong bối cảnh trao đổi.

Chi tiết
Thông số
[in] pktInfo
Một con trỏ đến đối tượng IPPacketInfo.
[in] msgInfo
Một con trỏ đến cấu trúc thông tin tin nhắn Weave.

HasPeerRequestedAck

bool HasPeerRequestedAck(
  void
) const 

Xác định xem bạn có yêu cầu xác nhận cho ít nhất một tin nhắn trên trao đổi này hay không.

Chi tiết
Lợi nhuận
Trả về 'true' nếu yêu cầu xác nhận, còn lại là 'false'.

HasRcvdMsgFromPeer

bool HasRcvdMsgFromPeer(
  void
) const 

Xác định xem có ít nhất một tin nhắn đã được nhận trên sàn giao dịch này từ đồng nghiệp hay không.

Chi tiết
Lợi nhuận
Trả về 'true' nếu nhận được thông báo, còn lại là 'false'.

IsAckPending

bool IsAckPending(
  void
) const 

Xác định xem đã có thông báo xác nhận đang chờ được gửi đến đồng nghiệp trên sàn giao dịch này chưa.

IsConnectionClosed

bool IsConnectionClosed(
  void
) const 

Xác định xem ExchangeContextWeaveConnection đang hoạt động được liên kết hay không .

Chi tiết
Lợi nhuận
Trả về 'true' nếu kết nối bị đóng, còn lại là 'false'.

IsInitiator

bool IsInitiator(
  void
) const 

Xác định xem bối cảnh có phải là người khởi xướng trao đổi hay không.

Chi tiết
Lợi nhuận
Trả về 'true' nếu nó là trình khởi tạo, còn lại là 'false'.

IsResponseE Dự kiến

bool IsResponseExpected(
  void
) const 

Xác định xem có mong đợi phản hồi cho các thư được gửi qua trao đổi này hay không.

Chi tiết
Lợi nhuận
Trả về 'true' nếu mong đợi phản hồi, ngược lại là 'false'.

Giải phóng

void Release(
  void
)

Phát hành tham chiếu đến bối cảnh trao đổi này.

Nếu đếm ngược đến một thì hãy đóng ngữ cảnh, đặt lại tất cả các lệnh gọi lại của ứng dụng và dừng tất cả các bộ hẹn giờ.

SendCommonNullMessage

WEAVE_ERROR SendCommonNullMessage(
  void
)

Gửi tin nhắn Common :: Null.

Chi tiết
Giá trị trả lại
WEAVE_ERROR_NO_MEMORY
Nếu không có PacketBuffers khả dụng.
WEAVE_NO_ERROR
Nếu phương pháp thành công hoặc lỗi không nghiêm trọng.
other
Một lỗi nghiêm trọng khác được trả về bởi SendMessage () .

Gửi tin nhắn

WEAVE_ERROR SendMessage(
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *msgPayload,
  uint16_t sendFlags,
  void *msgCtxt
)

Gửi tin nhắn Weave trên sàn giao dịch này.

Chi tiết
Thông số
[in] profileId
Định danh hồ sơ của tin nhắn Weave sẽ được gửi.
[in] msgType
Loại thông báo của cấu hình tương ứng.
[in] msgBuf
Một con trỏ đến đối tượng PacketBuffer đang giữ thông báo Weave.
[in] sendFlags
Cờ do ứng dụng đặt cho tin nhắn Weave đang được gửi.
[in] msgCtxt
Một con trỏ đến một đối tượng ngữ cảnh dành riêng cho ứng dụng được liên kết với thông báo được gửi.
Giá trị trả lại
WEAVE_ERROR_INVALID_ARGUMENT
nếu một đối số không hợp lệ đã được chuyển đến API SendMessage này.
WEAVE_ERROR_SEND_THROTTLED
nếu ngữ cảnh trao đổi này đã được điều chỉnh khi sử dụng giao thức nhắn tin đáng tin cậy Weave.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
nếu có sự không khớp trong thao tác gửi cụ thể và phiên bản giao thức tin nhắn Weave được hỗ trợ. Ví dụ: lỗi này sẽ được tạo ra nếu ngữ nghĩa Nhắn tin đáng tin cậy của Weave đang được thử khi phiên bản giao thức tin nhắn Weave là V1.
WEAVE_ERROR_NOT_CONNECTED
nếu ngữ cảnh được liên kết với một kết nối hiện đã bị đóng.
WEAVE_ERROR_INCORRECT_STATE
nếu trạng thái của bối cảnh trao đổi không chính xác.
WEAVE_NO_ERROR
nếu lớp Weave đã gửi thành công thông báo xuống lớp mạng.

Gửi tin nhắn

WEAVE_ERROR SendMessage(
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *msgBuf,
  uint16_t sendFlags,
  WeaveMessageInfo *msgInfo,
  void *msgCtxt
)

Gửi tin nhắn Weave trên sàn giao dịch này.

Chi tiết
Thông số
[in] profileId
Định danh hồ sơ của tin nhắn Weave sẽ được gửi.
[in] msgType
Loại thông báo của cấu hình tương ứng.
[in] msgBuf
Một con trỏ đến đối tượng PacketBuffer đang giữ thông báo Weave.
[in] sendFlags
Cờ do ứng dụng đặt cho tin nhắn Weave đang được gửi.
[in] msgInfo
Một con trỏ đến đối tượng WeaveMessageInfo .
[in] msgCtxt
Một con trỏ đến một đối tượng ngữ cảnh dành riêng cho ứng dụng được liên kết với thông báo được gửi.
Giá trị trả lại
WEAVE_ERROR_INVALID_ARGUMENT
nếu một đối số không hợp lệ đã được chuyển đến API SendMessage này.
WEAVE_ERROR_SEND_THROTTLED
nếu ngữ cảnh trao đổi này đã được điều chỉnh khi sử dụng giao thức nhắn tin đáng tin cậy Weave.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
nếu có sự không khớp trong thao tác gửi cụ thể và phiên bản giao thức tin nhắn Weave được hỗ trợ. Ví dụ: lỗi này sẽ được tạo ra nếu ngữ nghĩa Nhắn tin đáng tin cậy của Weave đang được thử khi phiên bản giao thức tin nhắn Weave là V1.
WEAVE_ERROR_NOT_CONNECTED
nếu ngữ cảnh được liên kết với một kết nối hiện đã bị đóng.
WEAVE_ERROR_INCORRECT_STATE
nếu trạng thái của bối cảnh trao đổi không chính xác.
WEAVE_NO_ERROR
nếu lớp Weave đã gửi thành công thông báo xuống lớp mạng.

SetAckPending

void SetAckPending(
  bool inAckPending
)

Đặt nếu một xác nhận cần được gửi lại cho ngang hàng trên sàn giao dịch này.

Chi tiết
Thông số
[in] inAckPending
Một Boolean cho biết liệu (true) hay không (false) một xác nhận sẽ được gửi lại để phản hồi lại một thông báo đã nhận.

SetAutoReleaseKey

void SetAutoReleaseKey(
  bool autoReleaseKey
)

Đặt xem khóa mã hóa được liên kết với trao đổi có được phát hành khi trao đổi được giải phóng hay không.

Chi tiết
Thông số
[in] autoReleaseKey
Đúng nếu khóa mã hóa tin nhắn sẽ tự động được giải phóng.

SetAutoRequestAck

void SetAutoRequestAck(
  bool autoReqAck
)

Đặt xem có nên yêu cầu xác nhận hay không bất cứ khi nào tin nhắn được gửi đi.

Chi tiết
Thông số
[in] autoReqAck
Boolean cho biết có nên yêu cầu xác nhận hay không bất cứ khi nào một tin nhắn được gửi đi.

SetConnectionClosed

void SetConnectionClosed(
  bool inConnectionClosed
)

Đặt bit cờ kFlagConnectionClosed.

Cờ này được đặt khi kết nối WeaveConnection với một ExchangeContext bị đóng.

Chi tiết
Thông số
[in] inConnectionClosed
Boolean cho biết ngữ cảnh (true) hay không (false) được liên kết với một kết nối.

SetDropAck

void SetDropAck(
  bool inDropAck
)

Đặt liệu WeaveExchangeManager có nên gửi xác nhận cho ngữ cảnh này hay không.

Đối với nội bộ, chỉ sử dụng gỡ lỗi.

Chi tiết
Thông số
[in] inDropAck
Một Boolean cho biết liệu (đúng) hay không (sai) các xác nhận sẽ không được gửi để trao đổi.

SetInitiator

void SetInitiator(
  bool inInitiator
)

Đặt bit cờ kFlagInitiator.

Cờ này được đặt bởi nút bắt đầu trao đổi.

Chi tiết
Thông số
[in] inInitiator
Một Boolean cho biết ngữ cảnh (đúng) hay không (sai) là người khởi tạo trao đổi.

SetMsgRcvdFromPeer

void SetMsgRcvdFromPeer(
  bool inMsgRcvdFromPeer
)

Đặt nếu một tin nhắn đã được nhận từ người ngang hàng trên sàn giao dịch này.

Chi tiết
Thông số
[in] inMsgRcvdFromPeer
Một Boolean cho biết liệu (đúng) hay không (sai) một thông báo đã được nhận từ ngang hàng trên ngữ cảnh trao đổi này.

SetPeerRequestedAck

void SetPeerRequestedAck(
  bool inPeerRequestedAck
)

Đặt nếu một xác nhận được yêu cầu trong tin nhắn cuối cùng nhận được trên trao đổi này.

Chi tiết
Thông số
[in] inPeerRequestedAck
Một Boolean cho biết liệu (true) hay không (false) một xác nhận được yêu cầu trong thông báo nhận được cuối cùng.

SetResponseE Dự kiến

void SetResponseExpected(
  bool inResponseExpected
)

Đặt xem có phản hồi được mong đợi trên trao đổi này hay không.

Chi tiết
Thông số
[in] inResponseExpected
Một Boolean cho biết liệu (đúng) hay không (sai) một phản hồi được mong đợi trên sàn giao dịch này.

SetShouldAutoReleaseConnection

void SetShouldAutoReleaseConnection(
  bool autoReleaseCon
)

Đặt liệu kết nối Weave được liên kết với trao đổi có được giải phóng khi trao đổi được giải phóng hay không.

Chi tiết
Thông số
[in] autoReleaseCon
Đúng nếu kết nối Weave sẽ tự động được giải phóng.

SetupTrickleRetransmit

WEAVE_ERROR SetupTrickleRetransmit(
  uint32_t retransInterval,
  uint8_t threshold,
  uint32_t timeout
)

Thiết lập cơ chế truyền lại nhỏ giọt bằng cách đặt khoảng thời gian truyền lại và ngưỡng phát lại tương ứng.

Chi tiết
Thông số
[in] retransInterval
Khoảng thời gian truyền lại của thuật toán phát lại Trickle.
[in] threshold
Số lần tin nhắn được phát lại tối đa.
[in] timeout
Thời gian tối đa để chờ trước khi hủy bộ đếm thời gian truyền lại Trickle.
Lợi nhuận
WEAVE_NO_ERROR nếu thiết lập Trickle thành công, nếu không một INET_ERROR được ánh xạ thành WEAVE_ERROR.

ShouldAutoReleaseConnection

bool ShouldAutoReleaseConnection() const 

Trả lại xem kết nối Weave được liên kết với sàn giao dịch có được giải phóng khi sàn giao dịch được giải phóng hay không.

ShouldDropAck

bool ShouldDropAck(
  void
) const 

Xác định xem WeaveExchangeManager có nên gửi xác nhận hay không.

Đối với nội bộ, chỉ sử dụng gỡ lỗi.

StartTimerT

WEAVE_ERROR StartTimerT(
  void
)

Khởi động cơ chế hẹn giờ truyền lại định kỳ của thuật toán Trickle.

Chi tiết
Lợi nhuận
WEAVE_NO_ERROR nếu thành công, nếu không một INET_ERROR được ánh xạ vào WEAVE_ERROR.

TeardownTrickleRetransmit

void TeardownTrickleRetransmit(
  void
)

Xé bỏ cơ chế truyền lại Trickle bằng cách hủy bộ hẹn giờ định kỳ trong Trickle và giải phóng bộ đệm tin nhắn giữ tin nhắn Weave.

UseEphemeralUDPPort

bool UseEphemeralUDPPort(
  void
) const 

Trả về liệu các tin nhắn gửi đi được gửi qua sàn giao dịch có được gửi từ cổng UDP tạm thời cục bộ hay không.

WRMPFlushAcks

WEAVE_ERROR WRMPFlushAcks(
  void
)

WRMPSendDelayedDelivery

WEAVE_ERROR WRMPSendDelayedDelivery(
  uint32_t PauseTimeMillis,
  uint64_t DelayedNodeId
)

Gửi tin nhắn Gửi chậm để thông báo cho nút người gửi rằng tin nhắn đã gửi trước đó của nó sẽ bị trễ dự kiến ​​trước khi được gửi đến người nhận.

Một trong những nguyên nhân có thể khiến tin nhắn bị trì hoãn trước khi được gửi là khi nút cuối của người nhận bị buồn ngủ. Thông báo này có khả năng được tạo ra bởi một nút trung gian phù hợp trong đường dẫn gửi, người có đủ kiến ​​thức về người nhận để suy luận về việc gửi chậm. Khi nhận được tin nhắn này, người gửi sẽ điều chỉnh lại bộ hẹn giờ truyền lại cho các tin nhắn tìm kiếm xác nhận trở lại.

Chi tiết
Thông số
[in] pauseTimeMillis
Thời gian (tính bằng mili giây) mà tin nhắn đã gửi trước đó dự kiến ​​sẽ bị trì hoãn trước khi được gửi.
[in] delayedNodeId
Định danh nút của nút ngang hàng mà việc phân phối tin nhắn sẽ bị trì hoãn.
Giá trị trả lại
WEAVE_ERROR_INVALID_ARGUMENT
nếu một đối số không hợp lệ đã được chuyển đến API SendMessage này.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
nếu có sự không khớp trong thao tác gửi cụ thể và phiên bản giao thức tin nhắn Weave được hỗ trợ. Ví dụ: lỗi này sẽ được tạo ra nếu ngữ nghĩa Nhắn tin đáng tin cậy của Weave đang được thử khi phiên bản giao thức tin nhắn Weave là V1.
WEAVE_ERROR_NOT_CONNECTED
nếu ngữ cảnh được liên kết với một kết nối hiện đã bị đóng.
WEAVE_ERROR_INCORRECT_STATE
nếu trạng thái của bối cảnh trao đổi không chính xác.
WEAVE_NO_ERROR
nếu lớp Weave đã gửi thành công thông báo xuống lớp mạng.

WRMPSendThrottleFlow

WEAVE_ERROR WRMPSendThrottleFlow(
  uint32_t PauseTimeMillis
)

Gửi một thông điệp Throttle Flow tới nút ngang hàng yêu cầu nó điều chỉnh việc gửi tin nhắn.

Chi tiết
Thông số
[in] pauseTimeMillis
Thời gian (tính bằng mili giây) mà người nhận dự kiến ​​sẽ giảm tốc độ gửi.
Giá trị trả lại
WEAVE_ERROR_INVALID_ARGUMENT
Nếu một đối số không hợp lệ đã được chuyển đến API SendMessage này.
WEAVE_ERROR_SEND_THROTTLED
Nếu ngữ cảnh trao đổi này đã được điều chỉnh khi sử dụng giao thức nhắn tin đáng tin cậy Weave.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
Nếu có sự không khớp trong thao tác gửi cụ thể và phiên bản giao thức tin nhắn Weave được hỗ trợ. Ví dụ: lỗi này sẽ được tạo ra nếu ngữ nghĩa Nhắn tin đáng tin cậy của Weave đang được thử khi phiên bản giao thức tin nhắn Weave là V1.
WEAVE_ERROR_NOT_CONNECTED
Nếu ngữ cảnh được liên kết với một kết nối hiện đã bị đóng.
WEAVE_ERROR_INCORRECT_STATE
Nếu trạng thái của bối cảnh trao đổi không chính xác.
WEAVE_NO_ERROR
Nếu lớp Weave gửi thành công thông báo xuống lớp mạng.