nl::Weave::Profiles::BDX_Development::SendInit

#include <src/lib/profiles/bulk-data-transfer/Development/BDXMessages.h>

SendInit 메시지는 발신자가 개시자인 경우 교환을 시작하는 데 사용됩니다.

요약

상속

직접 알려진 서브클래스: nl::Weave::Profiles::BDX_Development::ReceiveInit

생성자 및 소멸자

SendInit(void)

공개 유형

MetaDataTLVWriteCallback)(uint8_t *aBuffer, uint16_t aBufferLength, uint16_t &aNumBytesWritten, void *aAppState) typedef
MetaDataTLVWriteCallback은 클라이언트가 원하는 메타데이터와 함께 SendInit을 제공할 수 있는 수단을 제공합니다.

공개 속성

mAsynchronousModeSupported
bool
비동기 모드를 지원할 수 있다면 true입니다.
mDefiniteLength
bool
길이 필드가 있으면 true입니다.
mFileDesignator
사전 협상된 정보가 포함된 문자열입니다.
mLength
uint64_t
권장되는 전송 데이터 길이, 무기한인 0
mMaxBlockSize
uint16_t
전송에 사용할 제안된 최대 블록 크기입니다.
mMetaData
선택적 TLV 메타데이터입니다.
mMetaDataAppState
void *
TLV 메타데이터의 선택적 앱 상태입니다.
mMetaDataWriteCallback
TLV 메타데이터를 쓰는 선택적 함수입니다.
mReceiverDriveSupported
bool
수신자 드라이브를 지원할 수 있다면 true입니다.
mSenderDriveSupported
bool
발신자 드라이브를 지원할 수 있는 경우 true입니다.
mStartOffset
uint64_t
제안된 데이터 시작 오프셋입니다.
mStartOffsetPresent
bool
시작 오프셋 필드가 있으면 true입니다.
mVersion
uint8_t
Google에서 결정한 BDX 프로토콜 버전입니다.
mWideRange
bool
오프셋과 길이가 64비트이면 true입니다.

공개 함수

init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint64_t aStartOffset, uint64_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
'wide' 초기화 SendInit.
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
'비 와이드' 초기화 SendInit (32비트 시작 오프셋, 32비트 길이)
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint64_t aStartOffset, uint64_t aLength, ReferencedString & aFileDesignator, MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState)
'wide' 초기화 SendInit.
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState)
'비 와이드' 초기화 SendInit (32비트 시작 오프셋, 32비트 길이)
operator==(const SendInit &) const
bool
SendInit 메시지 간의 동등성 비교
pack(PacketBuffer *aBuffer)
전송 초기화 메시지를 PacketBuffer에 패키징합니다.
packedLength(void)
uint16_t
이 전송 초기화 메시지의 압축된 길이를 반환합니다.

공개 정적 함수

parse(PacketBuffer *aBuffer, SendInit & aRequest)
PacketBuffer의 데이터를 SendInit 메시지 형식으로 파싱합니다.

공개 유형

MetaDataTLVWriteCallback

WEAVE_ERROR(* MetaDataTLVWriteCallback)(uint8_t *aBuffer, uint16_t aBufferLength, uint16_t &aNumBytesWritten, void *aAppState)

MetaDataTLVWriteCallback은 클라이언트가 원하는 메타데이터와 함께 SendInit을 제공할 수 있는 수단을 제공합니다.

클라이언트는 필요에 따라 사전 인코딩된 TLV (더 빠름), 즉석 인코딩 (메모리 사용량 감소), 지연 인코딩 (시작 시 조금 더 빠름) 등을 자유롭게 제공할 수 있습니다.

모든 경우, 콜백에 의해 생성된 데이터는 지정된 SendInit에 대해 일정하다고 가정합니다. 즉, 호출 시점에 관계없이 변경되지 않습니다. 이는 콜백이 언제든지 요청될 수 있는 작성된 TLV의 길이를 계산하는 데 사용되기 때문입니다.

세부정보
매개변수
[in] aBuffer
일부 TLV를 쓸 수 있는 대상 버퍼
[in] aBufferLength
대상 버퍼의 길이 (바이트 단위)
[in,out] aNumBytesWritten
대상 버퍼에 쓴 바이트 수입니다.
[in] aAppState
사용자 제공 앱 상태
반환 값
WEAVE_ERROR
오류가 발생했습니다.

공개 속성

mAsynchronousModeSupported

bool mAsynchronousModeSupported

비동기 모드를 지원할 수 있다면 true입니다.

mDefiniteLength

bool mDefiniteLength

길이 필드가 있으면 true입니다.

mFileDesignator

ReferencedString mFileDesignator

사전 협상된 정보가 포함된 문자열입니다.

mLength

uint64_t mLength

권장되는 전송 데이터 길이, 무기한인 0

mMaxBlockSize

uint16_t mMaxBlockSize

전송에 사용할 제안된 최대 블록 크기입니다.

mMetaData

ReferencedTLVData mMetaData

선택적 TLV 메타데이터입니다.

mMetaDataAppState

void * mMetaDataAppState

TLV 메타데이터의 선택적 앱 상태입니다.

mMetaDataWriteCallback

MetaDataTLVWriteCallback mMetaDataWriteCallback

TLV 메타데이터를 쓰는 선택적 함수입니다.

mReceiverDriveSupported

bool mReceiverDriveSupported

수신자 드라이브를 지원할 수 있다면 true입니다.

mSenderDriveSupported

bool mSenderDriveSupported

발신자 드라이브를 지원할 수 있는 경우 true입니다.

mStartOffset

uint64_t mStartOffset

제안된 데이터 시작 오프셋입니다.

mStartOffsetPresent

bool mStartOffsetPresent

시작 오프셋 필드가 있으면 true입니다.

mVersion

uint8_t mVersion

Google에서 결정한 BDX 프로토콜 버전입니다.

mWideRange

bool mWideRange

오프셋과 길이가 64비트이면 true입니다.

공개 함수

SendInit

 SendInit(
  void
)

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint64_t aStartOffset,
  uint64_t aLength,
  ReferencedString & aFileDesignator,
  ReferencedTLVData *aMetaData
)

'wide' 초기화 SendInit.

세부정보
매개변수
[in] aVersion
사용 중인 BDX 버전
[in] aSenderDrive
발신자가 운전 중인 경우 true
[in] aReceiverDrive
수신자가 운전 중인 경우 true
[in] aAsynchMode
기기가 비동기 모드를 지원하는 경우 true
[in] aMaxBlockSize
이 전송의 최대 블록 크기에 대한 제안서
[in] aStartOffset
파일의 시작 오프셋으로 시작합니다.
[in] aLength
전송할 파일의 길이 - 0은 길이가 무제한임을 의미합니다.
[in] aFileDesignator
전송할 데이터를 식별하는 문자열입니다.
[in] aMetaData
(선택사항) TLV 형식의 추가 데이터
반환
성공한 경우 WEAVE_NO_ERROR

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint32_t aStartOffset,
  uint32_t aLength,
  ReferencedString & aFileDesignator,
  ReferencedTLVData *aMetaData
)

'비 와이드' 초기화 SendInit (32비트 시작 오프셋, 32비트 길이)

세부정보
매개변수
[in] aVersion
사용 중인 BDX 버전
[in] aSenderDrive
발신자가 운전 중인 경우 true
[in] aReceiverDrive
수신자가 운전 중인 경우 true
[in] aAsynchMode
기기가 비동기 모드를 지원하는 경우 true
[in] aMaxBlockSize
이 전송의 최대 블록 크기에 대한 제안서
[in] aStartOffset
파일의 시작 오프셋으로 시작합니다.
[in] aLength
전송할 파일의 길이 - 0은 길이가 무제한임을 의미합니다.
[in] aFileDesignator
전송할 데이터를 식별하는 문자열입니다.
[in] aMetaData
(선택사항) TLV 형식의 추가 데이터
반환
성공한 경우 WEAVE_NO_ERROR

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint64_t aStartOffset,
  uint64_t aLength,
  ReferencedString & aFileDesignator,
  MetaDataTLVWriteCallback aMetaDataWriteCallback,
  void *aMetaDataAppState
)

'wide' 초기화 SendInit.

세부정보
매개변수
[in] aVersion
사용 중인 BDX 버전
[in] aSenderDrive
발신자가 운전 중인 경우 true
[in] aReceiverDrive
수신자가 운전 중인 경우 true
[in] aAsynchMode
기기가 비동기 모드를 지원하는 경우 true
[in] aMaxBlockSize
이 전송의 최대 블록 크기에 대한 제안서
[in] aStartOffset
파일의 시작 오프셋으로 시작합니다.
[in] aLength
전송할 파일의 길이 - 0은 길이가 무제한임을 의미합니다.
[in] aFileDesignator
전송할 데이터를 식별하는 문자열입니다.
[in] aMetaDataWriteCallback
(선택사항) TLV 형식으로 추가 데이터를 쓰는 함수
[in] aMetaDataAppState
aMetaDataWriteCallback에 전달할 선택적 컨텍스트입니다.
반환
성공한 경우 WEAVE_NO_ERROR

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint32_t aStartOffset,
  uint32_t aLength,
  ReferencedString & aFileDesignator,
  MetaDataTLVWriteCallback aMetaDataWriteCallback,
  void *aMetaDataAppState
)

'비 와이드' 초기화 SendInit (32비트 시작 오프셋, 32비트 길이)

세부정보
매개변수
[in] aVersion
사용 중인 BDX 버전
[in] aSenderDrive
발신자가 운전 중인 경우 true
[in] aReceiverDrive
수신자가 운전 중인 경우 true
[in] aAsynchMode
기기가 비동기 모드를 지원하는 경우 true
[in] aMaxBlockSize
이 전송의 최대 블록 크기에 대한 제안서
[in] aStartOffset
파일의 시작 오프셋으로 시작합니다.
[in] aLength
전송할 파일의 길이 - 0은 길이가 무제한임을 의미합니다.
[in] aFileDesignator
전송할 데이터를 식별하는 문자열입니다.
[in] aMetaDataWriteCallback
(선택사항) TLV 형식으로 추가 데이터를 쓰는 함수
[in] aMetaDataAppState
(선택사항) 콜백 함수로 다시 전달할 컨텍스트
반환
성공한 경우 WEAVE_NO_ERROR

연산자==

bool operator==(
  const SendInit &
) const 

SendInit 메시지 간의 동등성 비교

세부정보
매개변수
[in] another
이 메시지를 비교할 또 다른 SendInit 메시지
반환
true를 반환합니다.

WEAVE_ERROR pack(
  PacketBuffer *aBuffer
)

전송 초기화 메시지를 PacketBuffer에 패키징합니다.

세부정보
매개변수
[out] aBuffer
SendInit 메시지를 패킹할 PacketBuffer
반환 값
WEAVE_NO_ERROR
성공한 경우
WEAVE_ERROR_BUFFER_TOO_SMALL
버퍼가 너무 작은 경우

packedLength

uint16_t packedLength(
  void
)

이 전송 초기화 메시지의 압축된 길이를 반환합니다.

세부정보
반환
패킹되었을 때 메시지의 길이입니다.

공개 정적 함수

파싱

WEAVE_ERROR parse(
  PacketBuffer *aBuffer,
  SendInit & aRequest
)

PacketBuffer의 데이터를 SendInit 메시지 형식으로 파싱합니다.

세부정보
매개변수
[in] aBuffer
파싱하려는 데이터가 있는 PacketBuffer에 대한 포인터
[out] aRequest
결과를 저장해야 하는 SendInit 객체를 가리키는 포인터
반환 값
WEAVE_NO_ERROR
성공한 경우
WEAVE_ERROR_BUFFER_TOO_SMALL
버퍼가 너무 작은 경우