Erlang 21

erl_global




erlang

erl_global

C लाइब्रेरी

erl_global

लाइब्रेरी सारांश

विश्व स्तर पर पंजीकृत नामों तक पहुंच।

विवरण

यह मॉड्यूल global मॉड्यूल में नाम दर्ज करने, देखने और अपंजीकृत करने के लिए समर्थन प्रदान करता है। अधिक जानकारी के लिए, kernel:global देखें kernel:global

ध्यान दें कि नीचे दिए गए फ़ंक्शन कॉल द्वारा प्रदान की गई एक खुली फ़ाइल विवरणक का उपयोग करके एक आरपीसी करते हैं। यह फ़ाइल डिस्क्रिप्टर वैश्विक ऑपरेशन के दौरान अन्य ट्रैफ़िक के लिए उपयोग नहीं किया जाना चाहिए, क्योंकि फ़ंक्शन तब अप्रत्याशित डेटा प्राप्त कर सकता है और विफल हो सकता है।

निर्यात

char **erl_global_names(fd,count)

प्रकार

सभी ज्ञात वैश्विक नामों की एक सूची प्राप्त करता है।

  • fd एक इरलंग कनेक्शन का एक खुला विवरणक है।
  • count एक पूर्णांक, या NULL । यदि count NULL नहीं NULL , तो यह फ़ंक्शन द्वारा पाए जाने वाले नामों की संख्या पर सेट है।

सफलता पर, फ़ंक्शन स्ट्रिंग्स की एक सरणी देता है, प्रत्येक में एक पंजीकृत नाम होता है, और पाए जाने वाले नामों की संख्या पर सेट होता है। सरणी को एकल NULL पॉइंटर द्वारा समाप्त किया जाता है। विफलता पर, फ़ंक्शन NULL देता NULL और count संशोधित नहीं होती है।

ध्यान दें

बाद में सरणी को मुक्त करना कॉलर की जिम्मेदारी है। यह फ़ंक्शन द्वारा malloc() को सिंगल कॉल के साथ आवंटित किया गया है, इसलिए एक सिंगल free() सभी आवश्यक है।

int erl_global_register(fd,name,pid)

प्रकार

global में एक नाम दर्ज global

  • fd एक इरलंग कनेक्शन का एक खुला विवरणक है।
  • name global में पंजीकरण करने का नाम है।
  • pid वह pid है जिसे name के साथ जोड़ा जाना है। यह मान global द्वारा लौटाया जाता है जब प्रक्रियाएँ name के स्थान का अनुरोध करती हैं।

सफलता पर 0 लौटता है, अन्यथा -1

int erl_global_unregister(fd,name)

प्रकार

global से एक नाम नहीं global

  • fd एक इरलंग कनेक्शन का एक खुला विवरणक है।
  • name global से अपंजीकृत करने का नाम है।

सफलता पर 0 लौटता है, अन्यथा -1

ETERM *erl_global_whereis(fd,name,node)

प्रकार

global में एक नाम दिखता है।

  • fd एक इरलंग कनेक्शन का एक खुला विवरणक है।
  • name वह name है जिसे global देखा जाना है।

यदि node NULL नहीं NULL , तो यह एक बफर के लिए एक पॉइंटर है जहां फ़ंक्शन नोड के नाम को भर सकता है जहां name पाया जाता है। यदि आवश्यक हो तो node को सीधे erl_connect() पारित किया जा सकता है।

सफलता पर, फ़ंक्शन एक निर्दिष्ट नाम के पते वाले एर्लांग पिंड को लौटाता है, और नोड को नोड नाम से आरम्भ किया जाता है जहाँ name पाया जाता है। असफल होने पर, NULL लौटाया जाता है और node को संशोधित नहीं किया जाता है।