सदस्य इंटरफ़ेस onNext() . के माध्यम से आइटम प्राप्त करने के लिए प्रकाशकों की सदस्यता लेता है विधि, त्रुटि संदेश onError . के माध्यम से () विधि, या एक संकेत है कि onComplete() . के माध्यम से और कोई आइटम अपेक्षित नहीं है तरीका। इनमें से कुछ भी होने से पहले, प्रकाशक ऑनसब्सक्रिप्शन () . को कॉल करता है विधि।
public interface Subscriber<T> { public void onSubscribe(Subscription s); public void onNext(T t); public void onError(Throwable t); public void onComplete(); }
सदस्य इंटरफ़ेस के नियम:
- एक सदस्य Subscription.request(long n) . के माध्यम से कॉल करना होगा onNext() receive प्राप्त करने की विधि संकेत।
- Subcriber.onComplete() और Subcriber.onError(Throwable t) विधियों को सदस्यता या प्रकाशक पर किसी भी तरीके को कॉल नहीं करना चाहिए।
- Subcriber.onComplete() और Subcriber.onError(Throwable t) विधियों को संकेत मिलने के बाद सदस्यता रद्द करने पर विचार करना चाहिए।
- एक सब्सक्राइबर को कॉल करना चाहिए Subscription.cancel() ऑनसब्सक्राइब () . के बाद किसी दिए गए सब्सक्रिप्शन पर विधि संकेत अगर उसके पास पहले से ही एक सक्रिय सदस्यता है।
- एक सब्सक्राइबर को Subscription.cancel() call पर कॉल करना चाहिए विधि अगर सदस्यता की अब आवश्यकता नहीं है।
- एक सब्सक्राइबर यह सुनिश्चित करता है कि उसके सब्सक्रिप्शन के अनुरोध पर सभी कॉल और रद्द करने के तरीके क्रमिक रूप से निष्पादित किए जाएं।
- एक सब्सक्राइबर को एक या अधिक अगले पर () . प्राप्त करना होगा Subscription.cancel() . को कॉल करने के बाद सिग्नल विधि यदि अभी भी अनुरोधित तत्व लंबित हैं। यह विधि अंतर्निहित सफाई कार्यों को तुरंत करने की गारंटी नहीं देती है।
- एक सब्सक्राइबर को पूर्ण () पर प्राप्त होना चाहिए पिछले Subscription.request(long n) . के साथ या उसके बिना संकेत कॉल करें।
- एक सब्सक्राइबर को एक ऑनएरर () प्राप्त होना चाहिए पिछले Subscription.request(long n) . के साथ या उसके बिना संकेत कॉल करें।
- एक सब्सक्राइबर यह सुनिश्चित करता है कि उसके सिग्नल विधियों पर सभी कॉल संबंधित सिग्नल के प्रसंस्करण से पहले हो। इसका मतलब है कि सब्सक्राइबर को अपने प्रोसेसिंग लॉजिक के लिए सिग्नल को ठीक से प्रकाशित करने का ध्यान रखना चाहिए।
- Subcriber.onSubscribe() किसी दिए गए सब्सक्राइबर के लिए अधिक से अधिक एक बार कॉल करना चाहिए।
- कॉलिंग ऑनसब्सक्राइब () , अगले पर () , ऑन एरर () या पूर्ण होने पर () विधियों को वापस आना चाहिए, सिवाय इसके कि जब कोई प्रदान किया गया पैरामीटर शून्य हो, तो उस स्थिति में उसे NullPointerException फेंकना होगा। फोन करने वाले को।