(PECL ev >= 0.2.0)
Ev::recommendedBackends â įžå¨ãŽããŠããããŠãŧã ä¸ã§ãããããŽããã¯ã¨ãŗããŽãããããšã¯ãčŋã
ã㎠libev ãŽãã¤ããĒãĢįĩãŋčžŧãžããããšãĻãŽããã¯ã¨ãŗãã¨ã
ä¸ã§ãããŽããŠããããŠãŧã ä¸ã§ãããããŽããã¯ã¨ãŗããčŋããžãã
ããããã¨ã¯ãå¤ããŽããĄã¤ãĢããŖãšã¯ãĒããŋåŊĸåŧãĢ寞åŋããĻããã¨ãããã¨ã§ãã
ããŽããã¯ã¨ãŗãįž¤ã¯ãev_supported_backends()
ãčŋãããŽããå°ãĒããĒããã¨ããããããžãããã¨ãã° kqueue
ã¯å¤§å㎠BSD ãˇãšãã ã§ããžãåããã
æį¤ēįãĢãĒã¯ã¨ãšãããĒãéãčĒ忤åēã§ããĒãããã§ãã
ããŽãĄãŊãããčŋãããã¯ã¨ãŗãã¯ãŠãããæį¤ēįãĢæåŽããĒããĻã libev
ã§äŊŋããžãã
ããŽéĸæ°ãĢã¯ããŠãĄãŧãŋã¯ãããžããã
ãããããšã¯ãčŋããžãã ããã¯ã¨ãŗããŽããŠã° ããããã OR æŧįŽåã§įĩãŋåãããããŽãĢãĒããžãã
äž1 ãĢãŧããŽä¸ãĢåĨãŽãĢãŧããåãčžŧãäž
<?php
/*
* åãčžŧãŋå¯čŊãĒã¤ããŗããĢãŧãããããŠãĢããŽã¤ããŗããĢãŧããĢįĩãŋčžŧãŋãžãã
* ã§ããĒããŖãå ´åã¯ãããŠãĢããŽãĢãŧããäŊŋããžãã
* ãããŠãĢããŽãĢãŧã㯠$loop_hi ãĢããããĻåãčžŧãŋå¯čŊãĒãĢãŧã㯠$loop_lo
* ãĢæ ŧį´ãããžã (åãčžŧãŋå¯čŊãĒãĢãŧããäŊŋããĒããŖãå ´å㯠$loop_hi
* ãäŊŋããžã)ã
*
* ããŽãĩãŗããĢã PHP ãĢį§ģæ¤ããããŽã§ãã
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop_hi = EvLoop::defaultLoop();
$loop_lo = NULL;
$embed = NULL;
/*
* äŊŋãããĢãŧããååžã§ããããŠãããčĒŋãšãžã
* (ããŠã°ãŽå¤ã 0 ãŽå ´åã¯čĒ忤åēãæåŗããžã)
*/
$loop_lo = Ev::embeddableBackends() & Ev::recommendedBackends()
? new EvLoop(Ev::embeddableBackends() & Ev::recommendedBackends())
: 0;
if ($loop_lo) {
$embed = new EvEmbed($loop_lo, function () {});
} else {
$loop_lo = $loop_hi;
}
?>