Google is committed to advancing racial equity for Black communities. See how.

এনএল :: তাঁত :: প্রোফাইল :: বিডিএক্স_ ডেভেলপমেন্ট

এই নেমস্পেসে বাল্ক ডেটা ট্রান্সফার (বিডিএক্স) প্রোফাইলের ওয়েভের মধ্যে থাকা সমস্ত ইন্টারফেস অন্তর্ভুক্ত রয়েছে যা সক্রিয়ভাবে বিকাশাধীন এবং উত্পাদন ব্যবহারের জন্য ব্যবহার করা উচিত নয়।

সারসংক্ষেপ

গণনা

@80 এনাম
@81 এনাম
@82 এনাম
@83 এনাম

টাইপডেফস

BdxClient টাইপডেফ
BdxServer টাইপডেফ
ErrorHandler )(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode) টাইপডেফ
void(*
এই হ্যান্ডলারটিকে যে কোনও সময় ওয়েভ ত্রুটির সম্মুখীন হওয়ার সময় বলা হয় যা ত্রুটি কোডের মাধ্যমে ব্যবহারকারী-অ্যাপ্লিকেশন-সংজ্ঞায়িত নিয়ন্ত্রণ প্রবাহে সরাসরি ফিরে পাওয়া যায় না।
GetBlockHandler )(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock) টাইপডেফ
void(*
Get a block of data to be transmitted.
PutBlockHandler )(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock) টাইপডেফ
void(*
দৈর্ঘ্যের দৈর্ঘ্য aDataBlock দ্বারা নির্দেশিত ডেটা ব্লক পরিচালনা করুন le
ReceiveAcceptHandler )(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg) টাইপডেফ
কলব্যাক প্রার্থনা যখন একটি পূর্বে প্রেরিত ReceiveInit গন্তব্য দ্বারা গৃহীত হয়।
ReceiveInitHandler )(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg) টাইপডেফ
uint16_t(*
কলব্যাক প্রার্থনা যখন একটি গ্রহণ ReceiveInit বার্তা।
RejectHandler )(BDXTransfer *aXfer, StatusReport *aReport) টাইপডেফ
void(*
পূর্বের কোনও ম্যাসেজ গন্তব্য দ্বারা প্রত্যাখ্যান করা হলে অনুরোধ করা হয়েছিল।
SendAcceptHandler )(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg) টাইপডেফ
কলব্যাক প্রার্থনা যখন একটি পূর্বে প্রেরিত SendInit গন্তব্য দ্বারা গৃহীত হয়।
SendInitHandler )(BDXTransfer *aXfer, SendInit *aSendInitMsg) টাইপডেফ
uint16_t(*
কলব্যাক প্রার্থনা যখন একটি গ্রহণ SendInit বার্তা।
XferDoneHandler )(BDXTransfer *aXfer) টাইপডেফ
void(*
স্থানান্তর সমাপ্ত হয় এমন কেসগুলি পরিচালনা করুন।
XferErrorHandler )(BDXTransfer *aXfer, StatusReport *aXferError) টাইপডেফ
void(*
হাতল TransferError বার্তা প্রাপ্ত বা BDX দ্বারা প্রেরিত।

কার্যাদি

GetBDXAckFlag ( ExchangeContext *anEc)
uint16_t
ডাব্লুআরএমপি-র জন্য সংকলন সময়ের সহায়তার উপর ভিত্তি করে এক্সচেঞ্জ প্রসঙ্গে সংযোগের (টিসিপি-র জন্য কোনও অনুরোধ অ্যাক নয়) উপর নির্ভর করে গেটবিডিএক্সএ্যাকফ্ল্যাগ অনুরোধএক ফিল্ডের জন্য উপযুক্ত পতাকা প্রদান করে।

ক্লাস

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

BlockSend বার্তা রিসিভার প্রেরকের কাছ থেকে তথ্য একটি ব্লক হস্তান্তর করতে ব্যবহৃত হয়।

nl এর :: বুনা :: প্রোফাইল :: BDX_Development :: BlockSendV1

BlockSendV1 বার্তা রিসিভার প্রেরকের কাছ থেকে তথ্য একটি ব্লক হস্তান্তর করতে ব্যবহৃত হয়।

nl এর :: বুনা :: প্রোফাইল :: BDX_Development :: ReceiveAccept

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_Development :: BDXTransfer

এই কাঠামোটিতে একটি সক্রিয় বিডিএক্স স্থানান্তর উপস্থাপন করে এমন ডেটা সদস্য রয়েছে।

নেমস্পেসেস

nl এর :: বুনা :: প্রোফাইল :: BDX_Development :: BdxProtocol

গণনা

@ 80

 @80

@ 81

 @81

@ 82

 @82

@ 83

 @83

টাইপডেফস

বিডিএক্সক্লিয়েন্ট

BdxNode BdxClient

বিডিএক্স সার্ভার

BdxNode BdxServer

ত্রুটিহ্যান্ডলার

void(* ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)

এই হ্যান্ডলারটিকে যে কোনও সময় ওয়েভ ত্রুটির সম্মুখীন হওয়ার সময় বলা হয় যা ত্রুটি কোডের মাধ্যমে ব্যবহারকারী-অ্যাপ্লিকেশন-সংজ্ঞায়িত নিয়ন্ত্রণ প্রবাহে সরাসরি ফিরে পাওয়া যায় না।

এটি হ'ল, যদি অন্য কোনও হ্যান্ডলারের মধ্যে এমন একটি ত্রুটি দেখা দেয় যার স্বাক্ষরটির রিটার্ন টাইপ শূন্য থাকে (যেমন আগত ওয়েভ বার্তার প্রতিক্রিয়াতে বা প্রোটোকল দ্বারা প্রেরণ করা হয়), এই হ্যান্ডলারটি কল করা হবে যাতে ব্যবহারকারী নির্ধারণ করতে পারে যে স্থানান্তরটি পুনরুদ্ধার করা যায় কিনা এবং চালিয়ে যান বা তাদের যদি শাটডাউন () কল করা উচিত। নোট এটিও সম্ভব হতে পারে আগে একটি একটি ত্রুটি ঘটতে জন্য BDXTransfer সক্রিয়া করা হয় (যেমন ইতিমধ্যে অনেকগুলি বরাদ্দ স্থানান্তর বস্তু)। এই জাতীয় ক্ষেত্রে, ত্রুটিটি ওয়েভ দ্বারা লগ করা হবে এবং প্রোটোকল এটি বরাদ্দকৃত কোনও প্রয়োজনীয় রাজ্য পরিষ্কার করতে পরিচালনা করবে।

বিশদ
পরামিতি
[in] aXfer
পয়েন্টার BDXTransfer এই স্থানান্তর সঙ্গে যুক্ত
[in] anErrorCode
ত্রুটি কোড যা আমাদের প্রক্রিয়া করা প্রয়োজন

গেটব্লকহ্যান্ডলার

void(* GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)

Get a block of data to be transmitted.

কলার বাফারিং স্পেস সরবরাহ করে (বাফারের বাফার এবং দৈর্ঘ্য, রেফারেন্স দ্বারা পাস করা)। কলি (ব্যবহারকারীর অ্যাপ্লিকেশন) প্রদত্ত বাফারটি ব্যবহার করা উচিত, তবে পশ্চাদপটে সামঞ্জস্যতার কারণে, তার নিজস্ব বাফার ফিরে আসতে পারে। Callee চেয়ে আরো অনেক কিছুর না aLength বাইটের। ফিরে আসার পর aLength বাফারের মধ্যে বাইট পঠনের প্রকৃত সংখ্যা উপস্থিত রয়েছে।

বিশদ
পরামিতি
[in] aXfer
BDXTransfer এই চলমান স্থানান্তর সঙ্গে যুক্ত
[in,out] aLength
এই ব্লগে ডেটা পড়ার এবং সঞ্চিত দৈর্ঘ্যের। ফাংশন কল বাফারে গৃহীত দৈর্ঘ্য ধারণ করে aDataBlock । ফিরে আসার সময়, ভেরিয়েবলটিতে আসলে পড়ার ডেটার দৈর্ঘ্য থাকে।
[in,out] aDataBlock
ডেটা ব্লকের পয়েন্টার। ইনপুটটিতে এটি ফ্রেমওয়ার্ক সরবরাহিত বাফার ধারণ করে; কলি বাফারটি পূরণ করতে বা তার নিজস্ব বাফারিং স্পেস সরবরাহ করতে (পিছনে সামঞ্জস্যের অ্যাপ্লিকেশনগুলির জন্য) সেই স্থানটি ব্যবহার করতে পারে। প্রদত্ত বাফার ব্যবহার করে অ্যাপ্লিকেশনগুলিতে অবশ্যই কোনও প্রান্তিককরণ গ্রহণ করা উচিত নয়।
[out] aLastBlock
সত্য ব্লক হিসেবে পাঠানো উচিত যদি BlockEOF এবং স্থানান্তর সম্পন্ন, মিথ্যা অন্যথায়

পুটব্লকহ্যান্ডলার

void(* PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)

দৈর্ঘ্যের দৈর্ঘ্য aDataBlock দ্বারা নির্দেশিত ডেটা ব্লক পরিচালনা করুন le

সম্ভবত এটি যদি কোনও লাইটেব্লক সত্য হয় তবে এটি কোনও ফাইলকে লিখতে এবং বলা ফাইলটি বন্ধ করার সাথে জড়িত।

বিশদ
পরামিতি
[in] aXfer
BDXTransfer এই চলমান স্থানান্তর সঙ্গে যুক্ত
[in] aLength
নির্দিষ্ট ব্লকে পড়া এবং সঞ্চিত ডেটার দৈর্ঘ্য
[in] aDataBlock
তথ্য প্রকৃত ব্লক
[in] aLastBlock
সত্য ব্লক হিসেবে গ্রহণ করা হয়েছিল যদি BlockEOF এবং স্থানান্তর সম্পন্ন, মিথ্যা অন্যথায়। যদি সত্য হয় তবে প্রোগ্রামারটির সম্ভবত কোনও ফাইল হ্যান্ডলগুলি চূড়ান্ত করা উচিত, এই বিষয়টি মাথায় রেখে XferDoneHandler এর পরে ডাকা হবে

রিসিভঅ্যাকসেপ্টহ্যান্ডলার

WEAVE_ERROR(* ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)

কলব্যাক প্রার্থনা যখন একটি পূর্বে প্রেরিত ReceiveInit গন্তব্য দ্বারা গৃহীত হয়।

আপনি ফাইলটি খোলার জন্য এই সুযোগটি ব্যবহার করতে বা ট্রান্সফারের জন্য সংস্থানগুলি বরাদ্দ করতে ইচ্ছুক হতে পারেন যদি আপনি এটি শুরু করার সময় এটি না করেন।

বিশদ
পরামিতি
[in] aXfer
পয়েন্টার BDXTransfer এই স্থানান্তর সঙ্গে যুক্ত
[in] aReceiveAcceptMsg
পয়েন্টার ReceiveAccept বার্তা যে আমরা প্রক্রিয়া করছি

রিসিভইনিটহ্যান্ডলার

uint16_t(* ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)

কলব্যাক প্রার্থনা যখন একটি গ্রহণ ReceiveInit বার্তা।

এর কাজটি হ'ল আপনি গ্রহণযোগ্যতা গ্রহণ করতে চান কিনা তা নির্ধারণ করা এবং যদি তা হয় তবে aXfer-> mIsAccepted = সত্য সেট করুন যাতে প্রোটোকল প্রবর্তককে একটি গ্রহণযোগ্য বার্তা প্রেরণ করবে। BDXTransfer বস্তুর ডিফল্ট সেটিংসে সূচনা হয়। এ্যাক্সার-> এমএপস্টেটের সাথে কোনও অ্যাপ্লিকেশন-নির্দিষ্ট রাষ্ট্র (ওপেন ফাইল হ্যান্ডলগুলি ইত্যাদি) সংযুক্ত করার জন্য এটি একটি ভাল জায়গা। এছাড়াও আপনি যেমন ব্লক হ্যান্ডলিং জন্য প্রয়োজনীয় হ্যান্ডেলার সংযুক্ত করা উচিত BDXTransfer এই সময়ে অবজেক্ট। যদি কেস্ট্যাটাস_সাকসেস ব্যতীত কোনও ত্রুটি কোডটি ফিরে আসে, তবে স্থানান্তরটি প্রত্যাখ্যানযোগ্য বলে মনে করা হয় এবং প্রোটোকল কোড সহ একটি প্রত্যাখ্যান বার্তা প্রেরণ করবে handle

বিশদ
পরামিতি
[in] aXfer
পয়েন্টার BDXTransfer এই স্থানান্তর সঙ্গে যুক্ত
[in] aReceiveInitMsg
পয়েন্টার ReceiveInit বার্তা যে আমরা প্রক্রিয়া করছি

রিজেক্টহ্যান্ডলার

void(* RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)

পূর্বের কোনও ম্যাসেজ গন্তব্য দ্বারা প্রত্যাখ্যান করা হলে অনুরোধ করা হয়েছিল।

বিশদ
পরামিতি
[in] aXfer
পয়েন্টার BDXTransfer এই স্থানান্তর সঙ্গে যুক্ত
[in] aReport
স্থিতি প্রতিবেদন বার্তাকে প্রত্যাখ্যান করে যা আমরা প্রক্রিয়া করছি

সেন্ডএকসেপ্টহ্যান্ডলার

WEAVE_ERROR(* SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)

কলব্যাক প্রার্থনা যখন একটি পূর্বে প্রেরিত SendInit গন্তব্য দ্বারা গৃহীত হয়।

আপনি ফাইলটি খোলার জন্য এই সুযোগটি ব্যবহার করতে বা ট্রান্সফারের জন্য সংস্থানগুলি বরাদ্দ করতে ইচ্ছুক হতে পারেন যদি আপনি এটি শুরু করার সময় এটি না করেন।

বিশদ
পরামিতি
[in] aXfer
পয়েন্টার BDXTransfer এই স্থানান্তর সঙ্গে যুক্ত
[in] aSendAcceptMsg
পয়েন্টার SendAccept বার্তা যে আমরা প্রক্রিয়া করছি

সেন্ডইনিটহ্যান্ডলার

uint16_t(* SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)

কলব্যাক প্রার্থনা যখন একটি গ্রহণ SendInit বার্তা।

তার কাজ কিনা তা নির্ধারণ করতে আপনি গ্রহণ করতে চান SendInit এবং, যদি তাই হয়, aXfer-> mIsAccepted = সত্য যাতে প্রোটোকল একটি ইনিশিয়েটরের বার্তা গ্রহণ পাঠাব সেট। BDXTransfer বস্তুর ডিফল্ট সেটিংসে সূচনা হয়। এ্যাক্সার-> এমএপস্টেটের সাথে কোনও অ্যাপ্লিকেশন-নির্দিষ্ট রাষ্ট্র (ওপেন ফাইল হ্যান্ডলগুলি ইত্যাদি) সংযুক্ত করার জন্য এটি একটি ভাল জায়গা। এছাড়াও আপনি যেমন ব্লক হ্যান্ডলিং জন্য প্রয়োজনীয় হ্যান্ডেলার সংযুক্ত করা উচিত BDXTransfer এই সময়ে অবজেক্ট। যদি WEAVE_NO_ERROR ব্যতীত কোনও ত্রুটি কোডটি ফিরে আসে, তবে স্থানান্তরটি প্রত্যাখ্যানযোগ্য বলে মনে করা হয় এবং প্রোটোকল কোড সহ একটি প্রত্যাখ্যান বার্তা প্রেরণ করবে handle

বিশদ
পরামিতি
[in] aXfer
পয়েন্টার BDXTransfer এই স্থানান্তর সঙ্গে যুক্ত
[in] aSendInitMsg
পয়েন্টার SendInit বার্তা যে আমরা প্রক্রিয়া করছি

এক্সফারডোনহ্যান্ডলার

void(* XferDoneHandler)(BDXTransfer *aXfer)

স্থানান্তর সমাপ্ত হয় এমন কেসগুলি পরিচালনা করুন।

বিশদ
পরামিতি
[in] aXfer
পয়েন্টার BDXTransfer এই স্থানান্তর সঙ্গে যুক্ত

XferErrorHandler

void(* XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)

হাতল TransferError বার্তা প্রাপ্ত বা BDX দ্বারা প্রেরিত।

নোট: BDX স্থানান্তর সম্ভাব্য আদায়যোগ্য (মুহূর্তে PacketBuffers বাইরে সম্ভবত অস্থায়ী যেমন) হতে সম্ভাব্য এবং তাই শাটডাউন কলিং বিকল্প () আবেদন প্রোগ্রামার এবং callbacks তারা সংজ্ঞায়িত করতে ছেড়ে দেওয়া হয়। টোডো: এটি যাচাই করুন এবং বিডিএক্স নথিতে ভাষার সাথে এটি পুনর্মিলন করুন, যা বলেছে: "[একটি ট্রান্সফার এরর] কোনও পক্ষই যেকোন সময় প্রেরণ করতে পারে বাল্ক ডেটা স্থানান্তরকে অকালপূর্বক শেষ করতে।"

বিশদ
পরামিতি
[in] aXfer
পয়েন্টার BDXTransfer এই স্থানান্তর সঙ্গে যুক্ত
[in] aXferError
আমরা প্রক্রিয়া করছি এমন স্থিতি প্রতিবেদন বার্তা ত্রুটির পয়েন্টার

কার্যাদি

GetBDXAckFlag

uint16_t GetBDXAckFlag(
  ExchangeContext *anEc
)

ডাব্লুআরএমপি-র জন্য সংকলন সময়ের সহায়তার উপর ভিত্তি করে এক্সচেঞ্জ প্রসঙ্গে সংযোগের (টিসিপি-র জন্য কোনও অনুরোধ অ্যাক নয়) উপর নির্ভর করে গেটবিডিএক্সএ্যাকফ্ল্যাগ অনুরোধএক ফিল্ডের জন্য উপযুক্ত পতাকা প্রদান করে।

বিশদ
পরামিতি
[in] anEc
বিনিময়ের প্রসঙ্গটি ভিত্তিতে আমাদের পতাকা পাওয়া উচিত
ফিরে আসে
0 বা kSendFlag_RequestAck