लेन-देन शुरू करें

Invoke Transactions का इस्तेमाल, टारगेट नोड पर एक या उससे ज़्यादा क्लस्टर कमांड को चालू करने के लिए किया जाता है. यह क्लस्टर में तय की गई कमांड को किए गए रिमोट प्रोसीज़र कॉल जैसा होता है.

लिखने के लेन-देन की तरह ही, Invoke Transactions में भी टाइम किए गए और टाइम नहीं किए गए लेन-देन की सुविधा उपलब्ध होती है. कृपया समयसीमा के साथ किए जाने वाले लेन-देन के बारे में ज़्यादा जानकारी के लिए, समयसीमा के साथ और बिना समयसीमा के की जाने वाली कार्रवाइयां सेक्शन देखें.

Untimed Invoke Transaction

बिना समयसीमा वाले Invoke लेन-देन की कार्रवाइयों का क्रम
पहली इमेज: बिना समय तय किए गए Invoke Transaction

कार्रवाई के अनुरोध को शुरू करना

दिशा: शुरू करने वाला -> टारगेट

पढ़ने के अनुरोध की कार्रवाई और लिखने के अनुरोध की कार्रवाई की तरह ही, इस कार्रवाई में अनुरोध करने वाला व्यक्ति, टारगेट को ये जानकारी देता है:

  • Invoke Requests: क्लस्टर कमांड के पाथ की सूची. साथ ही, कमांड के लिए ज़रूरी नहीं ऐसे आर्ग्युमेंट जिन्हें Command Fields कहा जाता है.
  • समय के हिसाब से अनुरोध: यह फ़्लैग दिखाता है कि यह कार्रवाई, समय के हिसाब से किए जाने वाले Invoke लेन-देन का हिस्सा है या नहीं.
  • जवाब को छिपाएं: यह एक फ़्लैग है. इससे पता चलता है कि Invoke Response Action को छिपाना चाहिए या नहीं.
  • इंटरैक्शन आईडी: यह एक पूर्णांक होता है. इसका इस्तेमाल, Invoke Request Action को Invoke Response Action से मैच करने के लिए किया जाता है.

जवाब देने के लिए कार्रवाई शुरू करना

दिशा: टारगेट -> शुरू करने वाला

टारगेट को Invoke Request Action मिलने के बाद, वह Invoke Response Action के साथ लेन-देन पूरा करेगा. इसमें ये शामिल हैं:

  • Invoke Responses: इसमें, भेजे गए हर अनुरोध के लिए, कमांड के जवाब या स्थिति की सूची होती है.
  • इंटरैक्शन आईडी: यह एक पूर्णांक होता है. इसका इस्तेमाल, Invoke Response Action को Invoke Request Action से मैच करने के लिए किया जाता है.

बिना समय सीमा वाली शुरू करने की पाबंदियां

'अनुरोध शुरू करें' ऐक्शन, ग्रुपकास्ट हो सकता है. हालांकि, इस मामले में जवाब न दें फ़्लैग सेट होना चाहिए. इसकी वजह यह है कि ऐसा न करने पर, नेटवर्क पर ग्रुप के हर सदस्य से एक साथ कई जवाब आ सकते हैं.

इस सुविधा को चालू करने के लिए, Invoke Requests की सूची में इस्तेमाल किए गए पाथ में ग्रुप शामिल हो सकते हैं. इसके अलावा, उनमें वाइल्डकार्ड भी शामिल हो सकते हैं. हालांकि, ऐसा सिर्फ़ Endpoint फ़ील्ड में किया जा सकता है. इसके अलावा, अगर कार्रवाई ग्रुपकास्ट की जा रही है, तो यह लेन-देन बिना किसी जवाब के खत्म हो जाता है.

समय के हिसाब से लेन-देन शुरू करना

टाइम किए गए राइट ट्रांज़ैक्शन की तरह ही, टाइम किए गए इनवोक ट्रांज़ैक्शन भी टाइम किए गए अनुरोध की कार्रवाई से शुरू होते हैं.

टाइम के हिसाब से लेन-देन शुरू करने की सुविधा की कार्रवाइयों का क्रम
दूसरी इमेज: समय के हिसाब से ट्रांज़ैक्शन शुरू करना

अनुरोध की गई कार्रवाई का समय खत्म हो गया है

दिशा: शुरू करने वाला -> टारगेट

शुरुआत करने वाला व्यक्ति, लेन-देन शुरू करने के लिए यह कार्रवाई करता है. इसमें ये शामिल हैं:

  • टाइम आउट: यह लेन-देन कितने मिलीसेकंड तक खुला रह सकता है. इस अवधि के दौरान, अनुरोध करने वाले व्यक्ति की ओर से भेजा गया अगला अनुरोध मान्य माना जाएगा.

समयसीमा के साथ अनुरोध की गई कार्रवाई मिलने के बाद, टारगेट को स्टेटस रिस्पॉन्स ऐक्शन के साथ, समयसीमा के साथ अनुरोध की गई कार्रवाई की पुष्टि करनी होगी. जब इनीशिएटर को स्टेटस रिस्पॉन्स ऐक्शन मिलता है और उसमें कोई गड़बड़ी नहीं होती है, तब वह Invoke Request ऐक्शन भेजता है.

कार्रवाई के अनुरोध को शुरू करना

यह अनुरोध की गई कार्रवाई शुरू करें के जैसा ही है.

जवाब देने के लिए कार्रवाई शुरू करना

यह Invoke Response Action की तरह ही काम करता है.

कुछ समय के लिए प्रॉम्प्ट शुरू करने से जुड़ी पाबंदियां

सभी 'बुलाएं' निर्देश, टाइम इंटरैक्शन पर कॉल किए जा सकते हैं. टाइम किया गया अनुरोध ऐक्शन, अनुरोध ऐक्शन शुरू करें, और अनुरोध का जवाब देने वाला ऐक्शन, Unicast-ओनली होते हैं. इसलिए, इनका इस्तेमाल टाइम किए गए अनुरोध शुरू करने वाले लेन-देन पर ग्रुपकास्ट के तौर पर नहीं किया जा सकता.

'अनुरोध शुरू करें' कार्रवाई में, ग्रुप के साथ-साथ वाइल्डकार्ड का इस्तेमाल किया जा सकता है. हालांकि, 'जवाब शुरू करें' कार्रवाई में वाइल्डकार्ड का इस्तेमाल नहीं किया जा सकता.