| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | 
							- <?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<walkor@workerman.net>
 
-  * @copyright walkor<walkor@workerman.net>
 
-  * @link      http://www.workerman.net/
 
-  * @license   http://www.opensource.org/licenses/mit-license.php MIT License
 
-  */
 
- namespace Workerman\Protocols;
 
- use Workerman\Connection\ConnectionInterface;
 
- /**
 
-  * Protocol interface
 
-  */
 
- interface ProtocolInterface
 
- {
 
-     /**
 
-      * Check the integrity of the package.
 
-      * Please return the length of package.
 
-      * If length is unknow please return 0 that mean wating more data.
 
-      * If the package has something wrong please return false the connection will be closed.
 
-      *
 
-      * @param ConnectionInterface $connection
 
-      * @param string              $recv_buffer
 
-      * @return int|false
 
-      */
 
-     public static function input($recv_buffer, ConnectionInterface $connection);
 
-     /**
 
-      * Decode package and emit onMessage($message) callback, $message is the result that decode returned.
 
-      *
 
-      * @param ConnectionInterface $connection
 
-      * @param string              $recv_buffer
 
-      * @return mixed
 
-      */
 
-     public static function decode($recv_buffer, ConnectionInterface $connection);
 
-     /**
 
-      * Encode package brefore sending to client.
 
-      *
 
-      * @param ConnectionInterface $connection
 
-      * @param mixed               $data
 
-      * @return string
 
-      */
 
-     public static function encode($data, ConnectionInterface $connection);
 
- }
 
 
  |