Exemplo n.º 1
0
 /**
  * Write PHP array, as table. Input array format: keys are strings,
  * values are (type,value) tuples.
  */
 public function write_table($d)
 {
     $this->flushbits();
     $table_data = new PhpAmqpLib_Wire_AMQPWriter();
     foreach ($d as $k => $va) {
         list($ftype, $v) = $va;
         $table_data->write_shortstr($k);
         if ($ftype == 'S') {
             $table_data->write('S');
             $table_data->write_longstr($v);
         } elseif ($ftype == 'I') {
             $table_data->write('I');
             $table_data->write_signed_long($v);
         } elseif ($ftype == 'D') {
             // 'D' type values are passed PhpAmqpLib_Wire_AMQPDecimal instances.
             $table_data->write('D');
             $table_data->write_octet($v->e);
             $table_data->write_signed_long($v->n);
         } elseif ($ftype == 'T') {
             $table_data->write('T');
             $table_data->write_timestamp($v);
         } elseif ($ftype == 'F') {
             $table_data->write('F');
             $table_data->write_table($v);
         } elseif ($ftype == 'A') {
             $table_data->write('A');
             $table_data->write_array($v);
         } else {
             throw new \InvalidArgumentException(sprintf("Invalid type '%s'", $ftype));
         }
     }
     $table_data = $table_data->getvalue();
     $this->write_long(strlen($table_data));
     $this->write($table_data);
     return $this;
 }
Exemplo n.º 2
0
 /**
  * @return array
  */
 public function connectionSecure($challenge)
 {
     $args = new PhpAmqpLib_Wire_AMQPWriter();
     $args->write_longstr($challenge);
     return array(10, 20, $args);
 }
Exemplo n.º 3
0
 public function testString($string_1, $string_2, $operation)
 {
     $args = new PhpAmqpLib_Wire_AMQPWriter();
     $args->write_shortstr($string_1);
     $args->write_longstr($string_2);
     $args->write_octet($operation);
     return array(120, 20, $args);
 }
 /**
  * @param $client_properties
  * @param $mechanism
  * @param $response
  * @param $locale
  */
 protected function x_start_ok($client_properties, $mechanism, $response, $locale)
 {
     $args = new PhpAmqpLib_Wire_AMQPWriter();
     $args->write_table($client_properties);
     $args->write_shortstr($mechanism);
     $args->write_longstr($response);
     $args->write_shortstr($locale);
     $this->send_method_frame(array(10, 11), $args);
 }