Skip to content

Commit

Permalink
add Frame protocol
Browse files Browse the repository at this point in the history
  • Loading branch information
walkor committed Feb 25, 2016
1 parent 1423377 commit c74f937
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 1 deletion.
56 changes: 56 additions & 0 deletions Protocols/Frame.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
<?php
/**
* This file is part of workerman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<[email protected]>
* @copyright walkor<[email protected]>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
namespace Workerman\Protocols;
use \Workerman\Connection\TcpConnection;

/**
* Frame Protocol.
*/
class Frame
{
/**
* Check the integrity of the package.
* @param string $buffer
*/
public static function input($buffer ,TcpConnection $connection)
{
if(strlen($buffer)<4)
{
return 0;
}
$unpack_data = unpack('Ntotal_length', $buffer);
return $unpack_data['total_length'];
}

/**
* Encode.
* @param string $buffer
* @return string
*/
public static function decode($buffer)
{
return substr($buffer, 4);
}

/**
* Decode.
* @param string $buffer
* @return string
*/
public static function encode($buffer)
{
$total_length = 4 + strlen($buffer);
return pack('N',$total_length) . $buffer;
}
}
2 changes: 1 addition & 1 deletion Worker.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ class Worker
* Version.
* @var string
*/
const VERSION = '3.2.9';
const VERSION = '3.3.0';

/**
* Status starting.
Expand Down

0 comments on commit c74f937

Please sign in to comment.