/** @test */ public function shouldNotCancelOtherPendingInputArrayPromisesIfOnePromiseRejects() { $mock = $this->createCallableMock(); $mock->expects($this->never())->method('__invoke'); $deferred = new Deferred($mock); $deferred->reject(); $mock2 = $this->getMockBuilder('React\\Promise\\CancellablePromiseInterface')->getMock(); $mock2->expects($this->never())->method('cancel'); race([$deferred->promise(), $mock2])->cancel(); }
<a href="#" title="View events" rel="np" class="icon-events link-last"> </a> </div> </div> </div> <a href="#" class="context-link" rel="np"><?php echo $charInfo['name']; ?> </a> </div> <div class="userCharacter"> <?php if ($char['val'] == 1) { ?> <div class="character-desc"><span class="color-c1"><?php echo $charInfo['level'] . ' ' . race($charInfo['race']) . ' ' . classx($charInfo['class']); ?> </span></div> <div class="achievements">0</div> <?php } ?> </div> </div> </div> </div> <div class="post-edit"> <div id="post-errors"></div> <!--<div class="talkback-controls">
/** @test */ public function shouldResolveToNullWhenInputPromiseDoesNotResolveToArray() { $mock = $this->createCallableMock(); $mock->expects($this->once())->method('__invoke')->with($this->identicalTo(null)); race(resolve(1))->then($mock); }
use function jubianchi\async\time\{delay}; use jubianchi\async\socket; $address = '0.0.0.0'; $port = $_SERVER['argv'][1] ?? 1337; $queue = []; $start = function ($socket, $address, $port) use(&$queue) { socket_bind($socket, $address, $port); socket_listen($socket, 0); socket_set_nonblock($socket); $index = 0; $cancel = false; while ($cancel == false) { $client = socket_accept($socket); if ($client) { echo '> Got client...' . PHP_EOL; $queue[] = (function () use($index, $client, $address, $port) { echo '> Handling request #' . $index . '...' . PHP_EOL; $response = 'Hello World!'; $output = 'HTTP/1.1 200 OK' . "\r\n" . 'Date: ' . date("D, j M Y G:i:s T") . "\r\n" . 'Server: AsyncGenerator/1.0.0 (PHP ' . phpversion() . ')' . "\r\n" . 'Content-Length: ' . strlen($response) . "\r\n" . 'Content-Type: text/plain' . "\r\n" . "\r\n" . $response . "\r\n"; yield from delay(1000); yield from socket\write($client, $output, 5); socket_close($client); })(); echo '> Client request #' . $index++ . ' queued...' . PHP_EOL; } $cancel = yield; } socket_close($socket); }; await(race($start(socket_create(AF_INET, SOCK_STREAM, 0), $address, $port), fork($queue)));
if ($nombre_perso == 1) { $lien_1 = strrev(base64_encode(base64_encode('' . $compte_passew . '/' . $perso[0]['id'] . ''))); echo $lien; echo "<div class=\"bloc\">\n<div class=\"nom\">" . $perso[0]['pseudo'] . "</div>\n<div class=\"avatar\"><table class=\"avat\"><tr><td valign=\"middle\"><a href=\"./general.php?p=" . $lien_1 . "\">" . avatar($perso[0]['pseudo'], '../../') . "</a></td></tr></table></div>\n<div class=\"infos\">\n<br />\n<ul>\n<li>Race: " . race($perso[0]['race']) . "</li>\n<li>Classe: " . classe($perso[0]['classe']) . "</li>\n<li>x: " . $perso[0]['x'] . "</li>\n<li>y: " . $perso[0]['y'] . "</li>\n<li>pv: " . $perso[0]['pv_reste'] . " / " . $perso[0]['pv'] . "</li>"; if ($perso[1]['classe'] != 'A') { echo "<li>pm: " . $perso[1]['magie_reste'] . " / " . $perso[1]['magie'] . "</li>"; } echo "<li>xp: " . $perso[0]['xp'] . "</li>\n</ul>\n</div>\n<div class=\"clic\">(cliquez sur l'avatar pour accèder au jeu)</div>\n<p></p>\n</div>"; } else { if ($nombre_perso == 2) { $lien_1 = strrev(base64_encode(base64_encode('' . $compte_passew . '/' . $perso[0]['id'] . ''))); $lien_2 = strrev(base64_encode(base64_encode('' . $compte_passew . '/' . $perso[1]['id'] . ''))); echo "<div class=\"bloc\">\n<div class=\"nom\">" . $perso[0]['pseudo'] . "</div>\n<div class=\"avatar\"><table class=\"avat\"><tr><td valign=\"middle\"><a href=\"./general.php?p=" . $lien_1 . "\">" . avatar($perso[0]['pseudo'], '../../') . "</a></td></tr></table></div>\n<div class=\"infos\">\n<br />\n<ul>\n<li>Race: " . race($perso[0]['race']) . "</li>\n<li>Classe: " . classe($perso[0]['classe']) . "</li>\n<li>x: " . $perso[0]['x'] . "</li>\n<li>y: " . $perso[0]['y'] . "</li>\n<li>pv: " . $perso[0]['pv_reste'] . " / " . $perso[0]['pv'] . "</li>"; if ($perso[1]['classe'] != 'A') { echo "<li>pm: " . $perso[1]['magie_reste'] . " / " . $perso[1]['magie'] . "</li>"; } echo "<li>xp: " . $perso[0]['xp'] . "</li>\n</ul>\n</div>\n<div class=\"clic\">(cliquez sur l'avatar pour accèder au jeu)</div>\n<p></p>\n</div>\n\n<div class=\"bloc\">\n<div class=\"nom\">" . $perso[1]['pseudo'] . "</div>\n<div class=\"avatar\"><table class=\"avat\"><tr><td valign=\"middle\"><a href=\"./general.php?p=" . $lien_2 . "\">" . avatar($perso[1]['pseudo'], '../../') . "</a></td></tr></table></div>\n<div class=\"infos\">\n<br />\n<ul>\n<li>Race: " . race($perso[1]['race']) . "</li>\n<li>Classe: " . classe($perso[1]['classe']) . "</li>\n<li>x: " . $perso[1]['x'] . "</li>\n<li>y: " . $perso[1]['y'] . "</li>\n<li>pv: " . $perso[1]['pv_reste'] . " / " . $perso[1]['pv'] . "</li>"; if ($perso[1]['classe'] != 'A') { echo "<li>pm: " . $perso[1]['magie_reste'] . " / " . $perso[1]['magie'] . "</li>"; } echo "<li>xp: " . $perso[1]['xp'] . "</li>\n</ul>\n</div>\n<div class=\"clic\">(cliquez sur l'avatar pour accèder au jeu)</div>\n<p></p>\n</div>"; } } $_SESSION['oui'] = 'yes'; ?> <p></p><p></p> <div class="decox"><a href="./connexion/deconnexion.php">Déconnection</a></div> </body> </html>
<?php /* * This file is part of the async generator runtime project. * * (c) Julien Bianchi <*****@*****.**> * * This source file is subject to the MIT license that is bundled * with this source code in the file LICENSE. */ require_once __DIR__ . '/../vendor/autoload.php'; use function jubianchi\async\runtime\{await, race}; use function jubianchi\async\time\{delay, throttle}; $start = microtime(true); await(race(delay(3000), throttle(500, function () { var_dump(__LINE__); }), throttle(1000, function () { var_dump(__LINE__); }))); echo 'Time spent: ' . ($with = microtime(true) - $start) . PHP_EOL;
if ($i > 6) { $infos[$p] = explode("/", $line_infos[$i]); $p++; } } if (is_array($infos)) { $infos = array_reverse($infos); } fclose($myfile); } else { $infos = 'null'; } } /* AFFICHAGE DES INFORMATIONS */ $titre = "TERRES - Informations sur: " . stripslashes($perso['pseudo']) . ""; echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n<html>\n<head>\n <title>{$titre}</title>\n <link rel=\"stylesheet\" href=\"./style.css\">\n</head>\n\n<body text=\"#000000\" link=\"#000000\" alink=\"#000000\" vlink=\"#000000\">\n\n<div align=\"center\">\n<table style=\"border:solid 1px black;\" cellpadding=\"6\" bgcolor=\"#EEEEEE\">\n<tr>\n <td>\n <font style=\"font-size:28px; color:black;\"> " . stripslashes($perso['pseudo']) . " </font>\n </td>\n</tr>\n</table>\n\n<br /><br />\n<p>\n<font style=\"color:white;\"><b>Race:</b> " . race($perso['race']) . "<br>\n<b>Classe:</b> " . classe($perso['classe']) . "<br>\n<b>Sexe:</b> " . sexe($perso['sexe']) . "<br><p>\n\n<table border=1 cellpadding=5 width=\"900\">\n<tr bgcolor=\"#DEDEBE\" height=\"30\" align=\"center\">\n <th>Message du jour:</th>\n <th>Victimes:</th>\n <th>Morts:</th>\n <th>Avatar:</th>\n</tr>\n<tr bgcolor=\"#EEEEEE\" height=\"150\" align=\"center\">\n <td width=300> <b>" . stripslashes($perso['message_du_jour']) . "</b> </td>\n <td width=200>\n <div id=\"info_cadre\">\n"; $sql_1 = mysql_query("SELECT a.*,b.id,b.pseudo\nFROM ( joueur_mort a\nLEFT JOIN joueur b ON a.perso_mort_id = b.id )\nWHERE a.acteur_id = '" . $perso['id'] . "'\nORDER BY a.time DESC"); while ($a = mysql_fetch_array($sql_1, MYSQL_ASSOC)) { echo " <br><font style=\"color:white;\">Le " . date("d M", $a['time']) . ": " . $a['pseudo'] . "</font>\n"; } echo " </div>\n </td>\n <td width=200>\n <div id=\"info_cadre\">"; $sql_2 = mysql_query("SELECT a.*,b.id,b.pseudo\nFROM ( joueur_mort a\nLEFT JOIN joueur b ON a.acteur_id = b.id )\nWHERE a.perso_mort_id = '" . $perso['id'] . "'\nORDER BY a.time DESC"); while ($b = mysql_fetch_array($sql_2, MYSQL_ASSOC)) { echo " <br><font style=\"color:white;\">Le " . date("d M", $b['time']) . " par " . $b['pseudo'] . "</font>\n"; } echo " </div>\n </td>\n <td witdh=\"150\">\n " . avatar($perso['pseudo']) . "\n </td>\n</tr>\n</table>\n<br>\n\n<table border=1 cellpadding=3 width=\"900\" cellpadding=5 align='center'>\n<tr bgcolor=\"#DEDEBE\" height=\"30\" align=\"center\">\n <th width=300>\n Date de l'action:\n </th>\n <th width=550>\n Nature de l'action:\n </th>\n</tr>\n"; $min = min(count($infos), 30); if ($infos != 'null') { for ($k = 0; $k < $min; $k++) { echo "<tr bgcolor=\"#EEEEEE\" height=\"25\" align=\"center\">\n <td>\n <span class=\"normal\" style=\"margin: 10px 10px 10px 10px\">" . date("\\L d/m/Y à H:i:s", $infos[$k][0]) . "</span>\n </td>\n <td>\n <span class=\"normal\" style=\"margin-left: 50px\">" . $infos[$k][1] . "</span>\n </td>\n</tr>\n"; }
function takerace() { global $lang, $auth, $horses_count, $races_count, $horses_names, $horses_wins, $horses_coefficients, $resarr, $race_res, $takenrace; $horses_count = 5; $races_count = 20; //--------------------проводим очередную гонку--------------------------- $res = runsql("select * from ut_races where Result_Names='' and Date<=unix_timestamp() order by Date"); while ($r = mysql_fetch_array($res)) { $resarr_nm = explode("/", $r[Horses_Names]); $resarr_wn = explode("/", $r[Horses_Wins]); for ($i1 = 1; $i1 <= $horses_count; $i1++) { $horses_names[$i1] = $resarr_nm[$i1 - 1]; $horses_wins[$i1] = $resarr_wn[$i1 - 1]; } //------------------------гонка проводится (таблица обновляется)--------------- race(); mysql_query("update ut_races set Result_Numbers='{$race_res['0']}', Result_Names='{$race_res['1']}' where RaceID='{$r['RaceID']}'"); $takenrace = $r[RaceID]; //------------------------------------------------------------------------------- } //---------------------инициализация переменных------------------ $q1 = select("select count(*) from ut_races where Result_Names='' and Date>unix_timestamp()"); for ($i = $q1[0]; $i < 4; $i++) { unset($resarr_nm); unset($resarr_wn); unset($resarr_co); //--------------------добавляем новый рейс в список планируемых---------- horses_generate($i + 1 . time()); for ($i1 = 1; $i1 <= $horses_count; $i1++) { if ($i1 == $horses_count) { $resarr_nm .= $horses_names[$i1]; $resarr_wn .= $horses_wins[$i1]; $resarr_co .= $horses_coefficients[$i1]; } else { $resarr_nm .= $horses_names[$i1] . "/"; $resarr_wn .= $horses_wins[$i1] . "/"; $resarr_co .= $horses_coefficients[$i1] . "/"; } } $tm = time(); $q = select("select Date from ut_races where Result_Names='' order by Date desc limit 0,1"); if ($q[0]) { $dt = $q[0] + 30 * 60; } else { if (date("i", $tm) >= 30) { $curmin = 60; } else { $curmin = 30; } $dt = mktime(date("H", $tm), $curmin, 0, date("m", $tm), date("d", $tm), date("Y", $tm)); } runsql("insert into ut_races(Horses_Names,Horses_Wins,Horses_Coefficients,Date)\n values('{$resarr_nm}','{$resarr_wn}','{$resarr_co}','{$dt}')"); } //$q=select("select * from ut_races where Result_Names='' order by Date desc limit 0,1"); }
<?php require_once __DIR__ . '/../../vendor/autoload.php'; use function jubianchi\async\runtime\{await, race}; function producer($prefix, $length) : \generator { $cancel = false; for ($i = 0; $i < $length && $cancel === false; $i++) { echo $prefix . '-' . $i . PHP_EOL; $cancel = (bool) yield; } if ($cancel === true) { echo $prefix . '-canceled' . PHP_EOL; } return $prefix . '-' . __LINE__; } var_dump(await(race(producer(__LINE__, 5), producer(__LINE__, 2))));
<div align=\"center\"> <table style=\"border:solid 1px black;\" cellpadding=\"6\" bgcolor=\"#EEEEEE\"> <tr> <td> <font style=\"font-size:28px; color:black;\"> ".stripslashes($f[0]['nom'])." </font> </td> </tr> </table> <p><br><img src=\"./images/".$f[0]['image']."\" width=\"300\" height=\"200\" border=\"0\" align=\"center\"><p><br> <font style=\"color: white;\">Etat de la forteresse: <b>".$etat."</b></font><br><br>\n"); for($i=0;$i<count($f);$i++) { if($f[$i]['perso_race'] == $f[$i]['race']) { echo("<a href='info.php?info=".$f[$i]['id']."'>- ".$f[$i]['pseudo']."<br>\n"); } else { echo("<a href='info.php?info=".$f[$i]['id']."'>- ".$f[$i]['pseudo']." (<font class='interdit'>".race($f[$i]['perso_race'])."</font>)<br>\n"); } } ?> <p><a href="" onClick="window.close();">Fermer</a> </div> </head> </body> </html>