/**
  * Starts server in background
  *
  * @param   string protocol
  */
 public static function startServerWith($protocol)
 {
     // Start server process
     with($rt = Runtime::getInstance());
     self::$serverProcess = $rt->getExecutable()->newInstance(array_merge($rt->startupOptions()->asArguments(), array($rt->bootstrapScript('class')), array('net.xp_framework.unittest.peer.server.TestingServer', $protocol)));
     self::$serverProcess->in->close();
     // Check if startup succeeded
     $status = self::$serverProcess->out->readLine();
     if (2 != sscanf($status, '+ Service %[0-9.]:%d', self::$bindAddress[0], self::$bindAddress[1])) {
         try {
             self::shutdownServer();
         } catch (IllegalStateException $e) {
             $status .= $e->getMessage();
         }
         throw new PrerequisitesNotMetError('Cannot start server: ' . $status, NULL);
     }
 }
 public static function startServer()
 {
     parent::startServerWith('peer.unittest.server.TestingProtocol');
 }
 public static function startServer()
 {
     parent::startServerWith('net.xp_framework.unittest.peer.server.AcceptTestingProtocol');
 }