سؤال

وأنا أكتب وحدة ejabberd. ما تقوم به هو توفير بعض الرسائل إلى قائمة الانتظار. في الواقع يعمل جيدا جدا، هناك شيء واحد فقط لا أستطيع أن أجد في أي وثائق. أنا بحاجة إلى التوقف عن معالجة هوك إذا وجدت رسالة قادمة من مستخدم معين.

وأي بمعنى. يتم إرسال رسالة إلى ejabberd، من مستخدم إلى مستخدم B، وحدة بلدي (التوصيل إلى ربط user_send_packet) بمعالجة هذه الرسالة، وإذا وجدت أن المستخدم A هو المستخدم المحدد، يجب ألا يلقى عليه. من ما فهمت يمكنك تحقيق ذلك من خلال وقف معالجة هوك. كيف يمكنك التوقف عن معالجة هوك؟

هل كانت مفيدة؟

المحلول

إذا ما كنت أريده هو أن إسقاط الرسائل من A -> B، يمكنك أن تفعل ذلك من خلال الاشتراك في fiter_packet هوك، ومن أن عودة <م> انخفاض لإسقاط الحزم كنت لا تريد السماح.

<اقتباس فقرة>   

ومن ما فهمت يمكنك تحقيق ذلك من خلال وقف معالجة هوك

لا، وقف معالجة هوك سيمنع معالجات أخرى مسجلة على هذا هوك (إن وجدت) ليتم تفعيلها، ولكن أي شيء آخر، وسوف تستمر الحزمة على النحو المعتاد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top