POE :: Component :: Plughable

فئة أساسية لإنشاء مكونات POE التي تم تدعم البرنامج المساعد
التحميل الان

POE :: Component :: Plughable الترتيب والملخص

الإعلانات

  • Rating:
  • رخصة:
  • Perl Artistic License
  • السعر:
  • FREE
  • اسم الناشر:
  • Chris Williams
  • موقع ويب الناشر:
  • http://search.cpan.org/~bingos/

POE :: Component :: Plughable العلامات


POE :: Component :: Plughable وصف

فئة أساسية لإنشاء مكونات POE التي تم تدعم البرنامج المساعد POE :: Component :: Plughable هو وحدة بيرل لإنشاء مكونات POE المكون الإضافية. إنه ميناء PoE :: ميناء عام :: System Component :: System System المكون الإضافي IRC.If الخاص بك إرسال الأحداث إلى جلسات PoE المسجلة، ثم PoE :: Component :: PLUGGBLEY قد يكون مناسبا جيدا بالنسبة لك. الاستخدام الأساسي المكون :: plughable، ثم تجاوز _Pluggable_Event () وإدراج _Pluggable_Process () أينما قمت بإرسال الأحداث من مكوناتك يمكن تحميل الإضافات بعد ذلك باستخدام طرق البرنامج المساعد المقدمة لمعالجة الأحداث الناتجة عن المكون. قد تستخدم أيضا معالجات نمط البرنامج المساعد سيحاول المكون الخاص بك باسم _Pluggable_Process () معالجة أي أحداث مع مكالمات الطريقة المحلية أولا. تتمتع قيمة الإرجاع لهؤلاء المعالجين بنفس أهمية قيمة الإرجاع من معالجات المساعدات الإضافية "العادية". #synopsis # مكون POE بسيط يرسل أحداث Ping إلى الدورات المسجلة # كل 30 ثانية. مثال معرف إلى حد ما أن نكون صادقين. {حزمة SimplePoco؛ استخدام صارمة؛ استخدام قاعدة QW (POE :: Component :: Pluggable)؛ استخدام poe. استخدم POE :: مكون :: Pluggable :: ثوابت QW (: ALL)؛ sub spawn {بلدي (حزمة $، OPTS) = @؛ OPTS $ {LC $ _} = حذف $ opts {$ _} للحصول على مفاتيح OPTS؛ بلدي الأقل النفس = يبارك \ OPTS، حزمة $؛ $ الذاتي -> _ pluggable_init (بادئة => 'simplepoco_')؛ PoE :: Session-> إنشاء (Object_states => ، heap => $ الذاتي،)؛ عودة $ الذاتي } إيقاف التشغيل الفرعي {بلدي ($ الذاتي) = @؛ $ poe_kernel-> مشاركة ($ الذاتي> {session_id}، "إيقاف التشغيل")؛ } sub _pluggable_event {بلدي ($ الذاتي) =_؛ $ poe_kernel-> المشاركة ($ الذاتي -> {session_id}، '__send_event'، @ _)؛ } Sub _Start {My (Kernel $، $ الذاتي) = @ _ ؛ $ الذاتي -> {session_id} = $ _ -> ID ()؛ إذا ($ الذاتي -> {alias}) {$ kernel-> alias_set ($ self - {alias})؛ } آخر {$ kernel-> refcount_incrent ($ الذاتي -> {session_id}، __package__)؛ } Kernel-> تأخير (_send_ping => $ الذاتي -> {time} || 300)؛ إرجاع؛ } sub _shutdown {بلدي (kernel $، $ الذاتي) = @ _ ؛ $ الذاتي -> _ pluggable_destroy ()؛ kernel-> arm_remove_all ()؛ $ الذاتي> alias_remove ($ _) مقابل kernel-> alias_list ()؛ $ kernel-> refcount_decrent (synes-self-{{session_id}، __package__) إذا! $ الذاتي -> {الاسم المستعار}؛ $ kernel-> refcount_decrement ($ _ __، __package__) للمفاتيح {$ {$ {$}؛ إرجاع؛ } السجل الفرعي {My (Kernel $ Kernel، $ المرسل، $ النفس) =_ ؛ بلدي sender_id = $ المرسل-> ID ()؛ $ الذاتي -> {stessions} -> {$ sender_id} ++؛ إذا ($ النفس -> {stessions} -> {$ sender_id} == 1) {$ kernel-> refcount_incrent ($ sender_id، __package__)؛ kernel $-> العائد (__ send_event => $ الذاتي -> {_ pluggable_prefix}. "مسجلة"، $ sender_id)؛ } إرجاع؛ } دون التسجيل الفرعي {My (Kernel $ Kernel، $ المرسل، $ الذاتي) = @ _ ؛ بلدي sender_id = $ المرسل-> ID ()؛ بلدي سجل $ = حذف $ الذاتي -> {جلسات} -> {$ sender_id}؛ إذا كان (سجل $) {$ kernel-> refcount_decrent ($ sender_id، __package__)؛ $ kernel-> العائد (__ send_event => $ الذاتي -> {_ pluggable_prefix}. "غير مسجل"، $ sender_id)؛ } إرجاع؛ } sub __send_event {بلدي (kernel $ hq، $ الذاتي، الحدث $، @ args) =_ ؛ العودة 1 إذا كانت $ الذاتية -> _ pluggable_process (ping => الحدث $، (@ args)) == البرنامج المساعد_AT_ALL؛ $ kernel-> المشاركة ($ _، الحدث $، @ args) للمفاتيح {$ $ self -> {stessions}}؛ } sub _send_ping {بلدي (kernel $، $ الذاتي) =_ ؛ بلدي الحدث الخاص بي = $ الذاتي -> {_ pluggable_prefix}. "بينغ"؛ بلدي @ myargs = ("استيقظ نائم")؛ kernel-> العائد (__ send_event => الحدث $، @ args)؛ $ kernel-> تأخير (_send_ping => $ الذاتي -> {time} || 300)؛ إرجاع؛ }} استخدم POE؛ بلدي plughable = simplepoco-> تفرخ (الاسم المستعار => "pluggable"، الوقت => 30،)؛ poe :: session-> إنشاء (package_states => ،)؛ $ poe_kernel-> تشغيل ()؛ Sub _Start {بلدي (kernel $ kernel، $ heap) = @ _ ؛ $ kernel-> المشاركة (pluggable => "تسجيل")؛ إرجاع؛ } Sub SimplePoco_Registered {print "Yay، نحن سجلنا "؛ العودة؛} Sub SimplePoco_Ping {My ($ المرسل، نص $) = @ ؛ طباعة" حصلت "نص $" من "، $ المرسل-> المعرف" "؛ العودة؛} المتطلبات: perl.


POE :: Component :: Plughable برامج ذات صلة