Ev::recommendedBackends

(PECL ev >= 0.2.0)

Ev::recommendedBackends — įžåœ¨ãŽãƒ—ãƒŠãƒƒãƒˆãƒ•ã‚Šãƒŧãƒ ä¸Šã§ãŠã™ã™ã‚ãŽãƒãƒƒã‚¯ã‚¨ãƒŗãƒ‰ãŽãƒ“ãƒƒãƒˆãƒžã‚šã‚¯ã‚’čŋ”す

čĒŦ明

final public static function Ev::recommendedBackends(): int

こぎ 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;
}
?>

å‚č€ƒ

īŧ‹add a note

User Contributed Notes

There are no user contributed notes for this page.