summaryrefslogtreecommitdiff
path: root/php/test_streaming.php
diff options
context:
space:
mode:
Diffstat (limited to 'php/test_streaming.php')
-rwxr-xr-xphp/test_streaming.php34
1 files changed, 34 insertions, 0 deletions
diff --git a/php/test_streaming.php b/php/test_streaming.php
new file mode 100755
index 0000000..8f89f4c
--- /dev/null
+++ b/php/test_streaming.php
@@ -0,0 +1,34 @@
+<?php
+
+ // serialized data
+ $msgs = array(pack("C*", 0x93, 0x01, 0x02, 0x03, 0x92), pack("C*", 0x03, 0x09, 0x04));
+
+ // streaming deserialize
+ $unpacker = new MessagePack();
+ $unpacker->initialize();
+ $buffer = "";
+ $nread = 0;
+
+ foreach($msgs as $msg){
+ $buffer = $buffer . $msg;
+
+ while(true){
+ $nread = $unpacker->execute($buffer, $nread);
+
+ if($unpacker->finished()){
+ $msg = $unpacker->data();
+ var_dump($msg);
+
+ $unpacker->initialize();
+ $buffer = substr($buffer, $nread);
+ $nread = 0;
+
+ if(!empty($buffer)){
+ continue;
+ }
+ }
+ break;
+ }
+ }
+?>
+