]> git.mxchange.org Git - hub.git/blob - application/hub/main/package/fragmenter/class_PackageFragmenter.php
A lot new methods/class added and many cleanups:
[hub.git] / application / hub / main / package / fragmenter / class_PackageFragmenter.php
1 <?php
2 /**
3  * A PackageFragmenter class to fragment package data into smaller chunks for
4  * delivery. This class does add a serial number to it and in the first data
5  * submission chunk it will add a sumerization of all fragements and their
6  * serial numbers.
7  *
8  * @author              Roland Haeder <webmaster@ship-simu.org>
9  * @version             0.0.0
10  * @copyright   Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2011 Hub Developer Team
11  * @license             GNU GPL 3.0 or any newer version
12  * @link                http://www.ship-simu.org
13  *
14  * This program is free software: you can redistribute it and/or modify
15  * it under the terms of the GNU General Public License as published by
16  * the Free Software Foundation, either version 3 of the License, or
17  * (at your option) any later version.
18  *
19  * This program is distributed in the hope that it will be useful,
20  * but WITHOUT ANY WARRANTY; without even the implied warranty of
21  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22  * GNU General Public License for more details.
23  *
24  * You should have received a copy of the GNU General Public License
25  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
26  */
27 class PackageFragmenter extends BaseFrameworkSystem implements Fragmentable {
28         /**
29          * Protected constructor
30          *
31          * @return      void
32          */
33         protected function __construct () {
34                 // Call parent constructor
35                 parent::__construct(__CLASS__);
36         }
37
38         /**
39          * Creates an instance of this class
40          *
41          * @return      $fragmenterInstance             An instance of a Fragmentable class
42          */
43         public static final function createPackageFragmenter () {
44                 // Get new instance
45                 $fragmenterInstance = new PackageFragmenter();
46
47                 // Return the prepared instance
48                 return $fragmenterInstance;
49         }
50
51         /**
52          * This method does "implode" the given package data array into one long
53          * string, splits it into small chunks, adds a serial number and checksum
54          * to all chunks and prepends a final hashsum chunk.
55          *
56          * @param       $packageData                    Raw package data array
57          * @param       $connectionInstance             A helper instance for connections
58          * @return      void
59          */
60         public function fragmentPackageArray (array $packageData, BaseConnectionHelper $connectionInstance) {
61         }
62
63         /**
64          * This method gets the next chunk from the internal FIFO which should be
65          * sent to the given recipient.
66          *
67          * @param       $packageData    Raw package data array
68          * @return      $rawDataChunk   Raw package data chunk
69          */
70         public function getNextRawDataChunk (array $packageData) {
71         }
72 }
73
74 // [EOF]
75 ?>