Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/lib/network/data_stream.cc @ 8019

Last change on this file since 8019 was 7954, checked in by patrick, 18 years ago

trunk: merged the network branche back to trunk.

File size: 2.8 KB
Line 
1/*
2   orxonox - the future of 3D-vertical-scrollers
3
4   Copyright (C) 2004 orx
5
6   This program is free software; you can redistribute it and/or modify
7   it under the terms of the GNU General Public License as published by
8   the Free Software Foundation; either version 2, or (at your option)
9   any later version.
10
11   ### File Specific:
12   main-programmer: Benjamin Knecht
13   co-programmer: ...
14*/
15
16/* include Data_stream Header */
17#include "data_stream.h"
18
19
20/* using namespace std is default, this needs to be here */
21using namespace std;
22
23
24
25/**
26 * This is the empty constructor
27 */
28DataStream::DataStream()
29{
30  this->setClassID(CL_DATA_STREAM, "DataStream");
31  this->upBuffer = new byte[DATA_STREAM_BUFFER_SIZE];
32  this->downBuffer = new byte[DATA_STREAM_BUFFER_SIZE];
33}
34
35/**
36 * This constructor creates a new DataStream and connects it to both streams (upStream, downStream)
37 */
38DataStream::DataStream(DataStream& inStream, DataStream& outStream)
39{
40    this->setClassID(CL_DATA_STREAM, "DataStream");
41    this->downStream = &outStream;
42    this->upStream = &inStream;
43
44    if( this->upBuffer)
45      delete[] this->upBuffer;
46    if( this->downBuffer)
47      delete[] this->downBuffer;
48}
49
50/**
51 *  standart deconstructor
52 */
53DataStream::~DataStream()
54{
55
56}
57
58
59/**
60 * This function connects this stream to another stream. The connected DataStream is an up-stream, meaning
61 * that the stream is "further away" from the NetworkSocket. The local reference upStream will be set to this
62 * Stream
63 */
64void DataStream::connectUpStream(DataStream& upStream)
65{
66
67}
68
69/**
70 * This function connects this stream to another stream. The connected DataStream is an down-stream, meaning
71 * that the stream is "closer" to the NetworkSocket.
72 */
73void DataStream::connectDownStream(DataStream& upStream)
74{
75
76}
77
78/**
79 * This function disconnects the upStream and sets it to NULL
80 */
81void DataStream::disconnectUpStream()
82{
83
84}
85
86/**
87 * This function disconnects the downStream and sets it to NULL
88 */
89void DataStream::disconnectDownStream()
90{
91
92}
93
94
95/**
96 * Following functions are protected and only visible inside the object and from derived classes
97 */
98
99/**
100 * This function writes the binary data to the local data. You will have to copy each byte and not only dublicate
101 * it.
102 *
103 * @param data: the binary array
104 * @param length: the length of the array
105 */
106void passDown(byte* data, int length)
107{
108
109}
110
111
112/**
113 * This function returns a reference to the local upData data array. So it can be read by an upper Stream
114 * The reading function will have to copy the whole data and musn't just reference it!
115 * This function is only called from other connected DataStreams to read the data.
116 *
117 * @param data: the binary array
118 * @return: the length of the data
119 */
120int passUp(byte* data)
121{
122
123}
Note: See TracBrowser for help on using the repository browser.