Erlang 21

diameter_sctp




erlang

diameter_sctp

मॉड्यूल

diameter_sctp

मॉड्यूल सारांश

SCTP पर व्यास परिवहन।

विवरण

यह मॉड्यूल gen_sctp(3) का उपयोग करके SCTP पर व्यास परिवहन को लागू करता है। इसे एक transport_module विकल्प को diameter:add_transport/2 के मान के रूप में निर्दिष्ट किया जा सकता है diameter:add_transport/2 और diameter:add_transport/2 diameter_transport(3) में प्रलेखित व्यवहार को लागू करता है।

निर्यात

start ({टाइप, रेफ}, Svc, [Opt]] -> {ठीक है, Pid, ​​[LAddr]} | {त्रुटि, कारण}

प्रकार

diameter_transport(3) द्वारा आवश्यक प्रारंभ समारोह।

विकल्प raddr और raddr एक ट्रांसपोर्ट ट्रांसपोर्ट के लिए रिमोट एड्रेस और पोर्ट को निर्दिष्ट करते हैं और सुनने वाले ट्रांसपोर्ट के लिए मान्य नहीं होते हैं: पूर्व की आवश्यकता होती है जबकि बाद के डिफॉल्ट्स से 3868 यदि अनिर्दिष्ट हो। एकाधिक raddr विकल्प निर्दिष्ट किए जा सकते हैं, जिस स्थिति में प्रश्न में कनेक्टिंग ट्रांसपोर्ट प्रत्येक क्रम में एक एसोसिएशन स्थापित होने तक प्रयास करता है।

विकल्प accept एक सुनने के परिवहन के लिए दूरस्थ पते निर्दिष्ट करता है और एक कनेक्टिंग परिवहन के लिए मान्य नहीं है। यदि निर्दिष्ट किया गया है, तो एक दूरस्थ पता जो निर्दिष्ट पते में से किसी एक से मेल नहीं खाता है, एसोसिएशन को निरस्त करने का कारण बनता है। एकाधिक accept विकल्प निर्दिष्ट किए जा सकते हैं। एक स्ट्रिंग-वैल्यू Match जो एक पते के रूप में पार्स नहीं करता है, एक नियमित अभिव्यक्ति के रूप में व्याख्या की जाती है।

विकल्प unordered निर्दिष्ट करता है कि क्या unordered डिलीवरी का उपयोग करना है या नहीं, पूर्णांक N , N =< OS समतुल्य है, जहां OS प्रश्न में एसोसिएशन पर बातचीत की जाने वाली आउटबाउंड धाराओं की संख्या है। कॉन्फ़िगरेशन के बावजूद, स्ट्रीम भेजने पर आदेश दिया जाता है 0 एक दूसरे आने वाले संदेश के स्वागत तक, यह सुनिश्चित करने के लिए कि एक सहकर्मी एक दूसरे से पहले क्षमताओं का आदान-प्रदान करता है। false अवहेलना।

विकल्प packet यह निर्धारित करता है कि एक आवक संदेश को व्यास_पैकेट रिकॉर्ड में कैसे पैक किया जाता है। यदि false तो संदेश बाइनरी () के रूप में प्राप्त होते हैं। यदि true तो bin फ़ील्ड में बाइनरी () संदेश और transport_data फ़ील्ड में एक {stream, Id} टपल के साथ एक रिकॉर्ड के रूप में, जहां Id इनबाउंड स्ट्रीम का पहचानकर्ता है संदेश को प्राप्त किया गया था। यदि raw तो transport_data फ़ील्ड में प्राप्त सहायक sctp_sndrcvinfo रिकॉर्ड के साथ एक रिकॉर्ड के रूप में। true अवहेलना।

विकल्प message_cb और sender शब्दार्थ_ diameter_tcp(3) में प्रलेखित उन लोगों के समान होते हैं, लेकिन संदेश तर्क के साथ एक recv कॉलबैक को packet विकल्प द्वारा निर्देशित किया packet है।

एक {outstream, Id} रिकॉर्ड के transport_data क्षेत्र में एक {outstream, Id} tuple आउटबाउंड स्ट्रीम सेट करता है, जिस पर संदेश भेजा जाता है, आउटबाउंड धाराओं की बातचीत की संख्या को मापता है। कोई अन्य मूल्य क्रमिक रूप से ऐसे चक्रों को भेजता है हालांकि सभी आउटबाउंड स्ट्रीम।

शेष विकल्प gen_sctp:open/1 द्वारा किसी भी स्वीकार किए gen_sctp:open/1 विकल्प mode , binary , list , active और sctp_events के अपवाद के साथ gen_sctp:open/1 । ध्यान दें कि विकल्प ip और पोर्ट क्रमशः स्थानीय पता और पोर्ट निर्दिष्ट करते हैं।

मल्टीपोमेड पीयर के लिए कई ip विकल्प निर्दिष्ट किए जा सकते हैं। यदि कोई भी निर्दिष्ट नहीं किया जाता है तो Host-IP-Address रिकॉर्ड में Host-IP-Address के मूल्यों का उपयोग किया जाता है। ऑप्शन port डिफॉल्ट को 3868 सुनने के ट्रांसपोर्ट के लिए और 0 कनेक्टिंग ट्रांसपोर्ट के लिए है।

चेतावनी

एक छोटे से प्राप्त बफ़र में आने वाले संदेशों को फिर से भेजने के लिए एक सहकर्मी हो सकता है: बफ़र का आकार बढ़ाने के लिए recbuf inet(3) विकल्प को फिर से सेट करें।

एक छोटे से भेजें बफ़र में आउटगोइंग संदेशों को छोड़ दिया जा सकता है: बफर आकार को बढ़ाने के लिए inet(3) विकल्प sndbuf सेट करें।

यह भी देखें

diameter(3) , gen_sctp(3) , gen_sctp(3) , gen_sctp(3) inet(3)