nl:: বুনা:: প্রোফাইল:: বিডিএক্স_ডেভেলপমেন্ট
এই নেমস্পেসটিতে বাল্ক ডেটা ট্রান্সফার (বিডিএক্স) প্রোফাইলের জন্য উইভের মধ্যে সমস্ত ইন্টারফেস অন্তর্ভুক্ত রয়েছে যা সক্রিয়ভাবে বিকাশের অধীনে রয়েছে এবং উত্পাদন ব্যবহারের জন্য ব্যবহার করা উচিত নয়।
সারাংশ
গণনা | |
---|---|
@80 | enum |
@81 | enum |
@82 | enum |
@83 | enum |
Typedefs | |
---|---|
BdxClient | typedef |
BdxServer | typedef |
ErrorHandler )(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode) | typedefvoid(* এই হ্যান্ডলারকে বলা হয় যেকোন সময় একটি উইভ ত্রুটির সম্মুখীন হয় যা ব্যবহারকারী-অ্যাপ্লিকেশন-সংজ্ঞায়িত নিয়ন্ত্রণ প্রবাহে ত্রুটি কোডের মাধ্যমে সরাসরি ফেরত দেওয়া যায় না। |
GetBlockHandler )(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock) | typedefvoid(* Get a block of data to be transmitted. |
PutBlockHandler )(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock) | typedefvoid(* দৈর্ঘ্য aLength এর aDataBlock দ্বারা নির্দেশিত ডেটা ব্লক পরিচালনা করুন। |
ReceiveAcceptHandler )(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg) | typedefWEAVE_ERROR (* একটি পূর্বে পাঠানো ReceiveInit গন্তব্য দ্বারা গৃহীত হলে কলব্যাক আহ্বান করা হয়। |
ReceiveInitHandler )(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg) | typedefuint16_t(* একটি ReceiveInit বার্তা পাওয়ার সময় কলব্যাক আহ্বান করা হয়। |
RejectHandler )(BDXTransfer *aXfer, StatusReport *aReport) | typedefvoid(* যদি পূর্ববর্তী Init বার্তাগুলির একটি গন্তব্য দ্বারা প্রত্যাখ্যান করা হয় তবে আমন্ত্রণ জানানো হয়। |
SendAcceptHandler )(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg) | typedefWEAVE_ERROR (* একটি পূর্বে পাঠানো SendInit গন্তব্য দ্বারা গৃহীত হলে কলব্যাক আহ্বান করা হয়। |
SendInitHandler )(BDXTransfer *aXfer, SendInit *aSendInitMsg) | typedefuint16_t(* একটি SendInit বার্তা পাওয়ার সময় কলব্যাক আহ্বান করা হয়। |
XferDoneHandler )(BDXTransfer *aXfer) | typedefvoid(* স্থানান্তর শেষ হয় এমন ক্ষেত্রে পরিচালনা করুন। |
XferErrorHandler )(BDXTransfer *aXfer, StatusReport *aXferError) | typedefvoid(* BDX দ্বারা প্রাপ্ত বা প্রেরিত স্থানান্তর ত্রুটি বার্তা পরিচালনা করুন। |
ফাংশন | |
---|---|
GetBDXAckFlag ( ExchangeContext *anEc) | uint16_t GetBDXAckFlag RequestAck ক্ষেত্রের জন্য উপযুক্ত পতাকা প্রদান করে এক্সচেঞ্জ কনটেক্সটের সংযোগের উপর নির্ভর করে (TCP-এর জন্য কোনো অনুরোধ নেই), এবং WRMP-এর জন্য কম্পাইল টাইম সাপোর্টের উপর ভিত্তি করে। |
ক্লাস | |
---|---|
nl:: বুনা:: প্রোফাইল:: BDX_Development:: BdxNode | |
nl:: বুনা:: প্রোফাইল:: BDX_Development:: BlockAck | BlockAck বার্তাটি ডেটার একটি ব্লক স্বীকার করতে ব্যবহৃত হয়। |
nl:: বুনা:: প্রোফাইল:: BDX_Development:: BlockAckV1 | BlockAckV1 বার্তাটি ডেটার একটি ব্লক স্বীকার করতে ব্যবহৃত হয়। |
nl:: বুনা:: প্রোফাইল:: BDX_Development:: BlockEOF | BlockEOF বার্তাটি প্রেরক থেকে প্রাপকের কাছে ডেটার শেষ ব্লক স্থানান্তর করতে ব্যবহৃত হয়। |
nl:: বুনা:: প্রোফাইল:: BDX_Development:: BlockEOFAck | BlockEOFAck বার্তাটি ডেটার শেষ ব্লকটি স্বীকার করতে ব্যবহৃত হয়। |
nl:: বুনা:: প্রোফাইল:: BDX_Development:: BlockEOFAckV1 | BlockEOFAckV1 বার্তাটি ডেটার শেষ ব্লকটি স্বীকার করতে ব্যবহৃত হয়। |
nl:: বুনা:: প্রোফাইল:: BDX_Development:: BlockEOFV1 | BlockEOFV1 বার্তাটি প্রেরক থেকে প্রাপকের কাছে ডেটার শেষ ব্লক স্থানান্তর করতে ব্যবহৃত হয়। |
nl:: বুনা:: প্রোফাইল:: BDX_Development:: BlockQuery | BlockQuery বার্তাটি প্রেরক থেকে প্রাপকের কাছে ডেটার একটি ব্লক স্থানান্তর করার অনুরোধ করতে ব্যবহৃত হয়। |
nl:: বুনা:: প্রোফাইল:: BDX_Development:: BlockQueryV1 | BlockQueryV1 বার্তাটি প্রেরক থেকে প্রাপকের কাছে ডেটার একটি ব্লক স্থানান্তর করার অনুরোধ করতে ব্যবহৃত হয়। |
nl:: বুনা:: প্রোফাইল:: BDX_Development:: BlockSend | ব্লকসেন্ড বার্তাটি প্রেরক থেকে প্রাপকের কাছে ডেটার একটি ব্লক স্থানান্তর করতে ব্যবহৃত হয়। |
nl:: বুনা:: প্রোফাইল:: BDX_Development:: BlockSendV1 | BlockSendV1 বার্তাটি প্রেরক থেকে প্রাপকের কাছে ডেটার একটি ব্লক স্থানান্তর করতে ব্যবহৃত হয়। |
nl:: বুনা:: প্রোফাইল:: BDX_Development:: গ্রহণ করুন | ReceiveAccept বার্তাটি একটি প্রস্তাবিত বিনিময় গ্রহণ করতে ব্যবহৃত হয় যখন প্রাপক সূচনাকারী হয়। |
nl:: বুনা:: প্রোফাইল:: BDX_Development:: ReceiveInit | রিসিভার ইনিশিয়েটর হলে ReceiveInit বার্তাটি একটি বিনিময় শুরু করতে ব্যবহৃত হয়। |
nl:: বুনা:: প্রোফাইল:: BDX_Development:: ReceiveReject | ReceiveReject বার্তাটি একটি প্রস্তাবিত বিনিময় প্রত্যাখ্যান করতে ব্যবহৃত হয় যখন প্রেরক সূচনাকারী হয়। |
nl:: বুনা:: প্রোফাইল:: BDX_Development:: SendAccept | SendAccept বার্তাটি একটি প্রস্তাবিত বিনিময় গ্রহণ করতে ব্যবহৃত হয় যখন প্রেরক সূচনাকারী হয়। |
nl:: বুনা:: প্রোফাইল:: BDX_Development:: SendInit | SendInit বার্তাটি একটি বিনিময় শুরু করতে ব্যবহৃত হয় যখন প্রেরক সূচনাকারী হয়। |
nl:: বুনা:: প্রোফাইল:: BDX_Development:: SendReject | SendReject বার্তাটি একটি প্রস্তাবিত বিনিময় প্রত্যাখ্যান করতে ব্যবহৃত হয় যখন প্রেরক সূচনাকারী হয়। |
nl:: বুনা:: প্রোফাইল:: BDX_Development:: TransferError | ত্রুটি বার্তা একটি ত্রুটি রিপোর্ট এবং একটি বিনিময় বাতিল করতে ব্যবহৃত হয়. |
কাঠামো | |
---|---|
nl:: বুনা:: প্রোফাইল:: BDX_Development:: BDXHandlers | |
nl:: বুনা:: প্রোফাইল:: বিডিএক্স_ডেভেলপমেন্ট:: বিডিএক্স ট্রান্সফার | এই কাঠামোতে একটি সক্রিয় BDX স্থানান্তরের প্রতিনিধিত্বকারী ডেটা সদস্য রয়েছে। |
নামস্থান | |
---|---|
nl:: বুনা:: প্রোফাইল:: BDX_Development:: BdxProtocol |
গণনা
@80
@80
@৮১
@81
@৮২
@82
@83
@83
Typedefs
বিডিএক্সক্লায়েন্ট
BdxNode BdxClient
বিডিএক্স সার্ভার
BdxNode BdxServer
ErrorHandler
void(* ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)
এই হ্যান্ডলারকে বলা হয় যেকোন সময় একটি উইভ ত্রুটির সম্মুখীন হয় যা ব্যবহারকারী-অ্যাপ্লিকেশন-সংজ্ঞায়িত নিয়ন্ত্রণ প্রবাহে ত্রুটি কোডের মাধ্যমে সরাসরি ফেরত দেওয়া যায় না।
অর্থাৎ, যদি অন্য হ্যান্ডলারের মধ্যে একটি ত্রুটি ঘটে যার স্বাক্ষরে রিটার্ন টাইপ অকার্যকর থাকে (যেমন একটি ইনকামিং ওয়েভ বার্তার প্রতিক্রিয়া হিসাবে বা এমনকি প্রোটোকল দ্বারা প্রেরিত), এই হ্যান্ডলারকে কল করা হবে যাতে ব্যবহারকারী নির্ধারণ করতে পারে যে স্থানান্তরটি পুনরুদ্ধার করা যাবে কিনা। এবং চালিয়ে যান বা যদি তারা শাটডাউন () কল করা উচিত। মনে রাখবেন যে একটি বিডিএক্স ট্রান্সফার শুরু হওয়ার আগে একটি ত্রুটি ঘটতে পারে (যেমন ইতিমধ্যেই অনেকগুলি বরাদ্দ স্থানান্তর বস্তু)। এই ধরনের ক্ষেত্রে, কথিত ত্রুটিটি উইভ দ্বারা লগ করা হবে এবং প্রোটোকলটি বরাদ্দ করা যেকোনো প্রয়োজনীয় অবস্থা পরিষ্কার করার ব্যবস্থা করবে।
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
|
GetBlockHandler
void(* GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
Get a block of data to be transmitted.
কলার বাফারিং স্পেস প্রদান করে (বাফারের বাফার এবং দৈর্ঘ্য, রেফারেন্স দ্বারা পাস করা)। Callee (ব্যবহারকারীর অ্যাপ্লিকেশন) প্রদত্ত বাফার ব্যবহার করা উচিত, কিন্তু পিছিয়ে থাকা সামঞ্জস্যতার কারণে, তার নিজস্ব বাফার ফেরত দিতে পারে। Callee অবশ্যই বাইটের aLength
বেশি প্রদান করবে না। ফেরার সময়, aLength
বাফারে পড়া বাইটের প্রকৃত সংখ্যা ধারণ করে।
বিস্তারিত | |||||||||
---|---|---|---|---|---|---|---|---|---|
পরামিতি |
|
পুটব্লকহ্যান্ডলার
void(* PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
দৈর্ঘ্য aLength এর aDataBlock দ্বারা নির্দেশিত ডেটা ব্লক পরিচালনা করুন।
সম্ভবত এটি একটি ফাইলে এটি লেখা এবং যদি isLastBlock সত্য হয় তবে বলা ফাইলটি বন্ধ করা জড়িত।
বিস্তারিত | |||||||||
---|---|---|---|---|---|---|---|---|---|
পরামিতি |
|
রিসিভঅ্যাকসেপ্টহ্যান্ডলার
WEAVE_ERROR(* ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
একটি পূর্বে পাঠানো ReceiveInit গন্তব্য দ্বারা গৃহীত হলে কলব্যাক আহ্বান করা হয়।
আপনি ফাইল খুলতে বা স্থানান্তরের জন্য সংস্থান বরাদ্দ করার জন্য এই সুযোগটি ব্যবহার করতে চাইতে পারেন যদি আপনি এটি শুরু করার সময় তা না করেন।
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
|
ReceiveInitHandler
uint16_t(* ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
একটি ReceiveInit বার্তা পাওয়ার সময় কলব্যাক আহ্বান করা হয়।
এর কাজ হল আপনি গ্রহন গ্রহণ করতে চান কিনা তা নির্ধারণ করা এবং যদি তাই হয়, aXfer->mIsAccepted=true সেট করুন যাতে প্রোটোকলটি ইনিশিয়েটরকে একটি গ্রহণ বার্তা পাঠাতে পারে। BDXTransfer অবজেক্টটি ডিফল্ট সেটিংসে শুরু করা হয়েছে। এটি aXfer->mAppState-এ যেকোনো অ্যাপ্লিকেশন-নির্দিষ্ট অবস্থা (খোলা ফাইল হ্যান্ডেল, ইত্যাদি) সংযুক্ত করার জন্য একটি ভাল জায়গা। এই মুহুর্তে আপনাকে BDXTransfer অবজেক্টের সাথে ব্লক হ্যান্ডলিংয়ের জন্য প্রয়োজনীয় হ্যান্ডলারগুলিও সংযুক্ত করতে হবে। kStatus_Success ছাড়া অন্য কোনো ত্রুটির কোড ফেরত দিলে, স্থানান্তর প্রত্যাখ্যান করা হয়েছে বলে ধরে নেওয়া হয় এবং প্রোটোকল কোড সহ একটি প্রত্যাখ্যান বার্তা পাঠানোর ব্যবস্থা করবে।
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
|
রিজেক্টহ্যান্ডলার
void(* RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)
যদি পূর্ববর্তী Init বার্তাগুলির একটি গন্তব্য দ্বারা প্রত্যাখ্যান করা হয় তবে আমন্ত্রণ জানানো হয়।
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
|
SendAcceptHandler
WEAVE_ERROR(* SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)
একটি পূর্বে পাঠানো SendInit গন্তব্য দ্বারা গৃহীত হলে কলব্যাক আহ্বান করা হয়।
আপনি ফাইল খুলতে বা স্থানান্তরের জন্য সংস্থান বরাদ্দ করার জন্য এই সুযোগটি ব্যবহার করতে চাইতে পারেন যদি আপনি এটি শুরু করার সময় তা না করেন।
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
|
SendInitHandler
uint16_t(* SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)
একটি SendInit বার্তা পাওয়ার সময় কলব্যাক আহ্বান করা হয়।
এর কাজ হল আপনি SendInit গ্রহণ করতে চান কিনা তা নির্ধারণ করা এবং যদি তাই হয়, aXfer->mIsAccepted=true সেট করুন যাতে প্রোটোকলটি ইনিশিয়েটরকে একটি গ্রহণ বার্তা পাঠাতে পারে। BDXTransfer অবজেক্টটি ডিফল্ট সেটিংসে শুরু করা হয়েছে। এটি aXfer->mAppState-এ যেকোনো অ্যাপ্লিকেশন-নির্দিষ্ট অবস্থা (খোলা ফাইল হ্যান্ডেল, ইত্যাদি) সংযুক্ত করার জন্য একটি ভাল জায়গা। এই মুহুর্তে আপনাকে BDXTransfer অবজেক্টের সাথে ব্লক হ্যান্ডলিংয়ের জন্য প্রয়োজনীয় হ্যান্ডলারগুলিও সংযুক্ত করতে হবে। যদি WEAVE_NO_ERROR ব্যতীত অন্য কোনো ত্রুটির কোড ফেরত দেওয়া হয়, তবে স্থানান্তরটি প্রত্যাখ্যান করা হয়েছে বলে ধরে নেওয়া হয় এবং প্রোটোকল কোডের সাথে একটি প্রত্যাখ্যান বার্তা পাঠানো পরিচালনা করবে।
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
|
XferDoneHandler
void(* XferDoneHandler)(BDXTransfer *aXfer)
স্থানান্তর শেষ হয় এমন ক্ষেত্রে পরিচালনা করুন।
বিস্তারিত | |||
---|---|---|---|
পরামিতি |
|
XferErrorHandler
void(* XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
BDX দ্বারা প্রাপ্ত বা প্রেরিত স্থানান্তর ত্রুটি বার্তা পরিচালনা করুন।
দ্রষ্টব্য: বিডিএক্স স্থানান্তরটি সম্ভাব্য পুনরুদ্ধারযোগ্য বলে অনুমান করা হয় (সম্ভবত সাময়িক যেমন এই মুহূর্তে প্যাকেটবাফারের বাইরে) এবং তাই শাটডাউন() কল করার বিকল্পটি অ্যাপ্লিকেশন প্রোগ্রামার এবং তাদের সংজ্ঞায়িত কলব্যাকের উপর ছেড়ে দেওয়া হয়েছে। TODO: এটি যাচাই করুন এবং BDX নথির ভাষার সাথে এটির সমন্বয় করুন, যেখানে বলা হয়েছে: "[একটি স্থানান্তর ত্রুটি] যে কোনো সময় যেকোনো পক্ষের দ্বারা পাঠানো যেতে পারে যাতে অকালে বাল্ক ডেটা স্থানান্তর শেষ হয়।"
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
|
ফাংশন
GetBDXAckFlag
uint16_t GetBDXAckFlag( ExchangeContext *anEc )
GetBDXAckFlag RequestAck ক্ষেত্রের জন্য উপযুক্ত পতাকা প্রদান করে এক্সচেঞ্জ কনটেক্সটের সংযোগের উপর নির্ভর করে (TCP-এর জন্য কোনো অনুরোধ নেই), এবং WRMP-এর জন্য কম্পাইল টাইম সাপোর্টের উপর ভিত্তি করে।
বিস্তারিত | |||
---|---|---|---|
পরামিতি |
| ||
রিটার্নস | 0 বা kSendFlag_RequestAck |