Index: branches/network/src/subprojects/network/Makefile.am
===================================================================
--- branches/network/src/subprojects/network/Makefile.am	(revision 5824)
+++ branches/network/src/subprojects/network/Makefile.am	(revision 5829)
@@ -15,4 +15,6 @@
 network_SOURCES=  network_unit_test.cc \
                   simple_sync.cc \
+		  read_sync.cc \
+		  write_sync.cc \
                   \
                   \
@@ -26,4 +28,6 @@
 
 noinst_HEADERS  =  network_unit_test.h \
-                   simple_sync.h
+                   simple_sync.h \
+		   read_sync.h \
+		   write_sync.h
 
Index: branches/network/src/subprojects/network/Makefile.in
===================================================================
--- branches/network/src/subprojects/network/Makefile.in	(revision 5824)
+++ branches/network/src/subprojects/network/Makefile.in	(revision 5829)
@@ -54,5 +54,6 @@
 PROGRAMS = $(bin_PROGRAMS)
 am_network_OBJECTS = network-network_unit_test.$(OBJEXT) \
-	network-simple_sync.$(OBJEXT) network-base_object.$(OBJEXT) \
+	network-simple_sync.$(OBJEXT) network-read_sync.$(OBJEXT) \
+	network-write_sync.$(OBJEXT) network-base_object.$(OBJEXT) \
 	network-class_list.$(OBJEXT) network-load_param.$(OBJEXT) \
 	network-substring.$(OBJEXT) network-helper_functions.$(OBJEXT)
@@ -193,4 +194,6 @@
 network_SOURCES = network_unit_test.cc \
                   simple_sync.cc \
+		  read_sync.cc \
+		  write_sync.cc \
                   \
                   \
@@ -202,5 +205,7 @@
 
 noinst_HEADERS = network_unit_test.h \
-                   simple_sync.h
+                   simple_sync.h \
+		   read_sync.h \
+		   write_sync.h
 
 all: all-am
@@ -275,6 +280,8 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/network-load_param.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/network-network_unit_test.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/network-read_sync.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/network-simple_sync.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/network-substring.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/network-write_sync.Po@am__quote@
 
 .cc.o:
@@ -319,4 +326,32 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(network_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o network-simple_sync.obj `if test -f 'simple_sync.cc'; then $(CYGPATH_W) 'simple_sync.cc'; else $(CYGPATH_W) '$(srcdir)/simple_sync.cc'; fi`
+
+network-read_sync.o: read_sync.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(network_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT network-read_sync.o -MD -MP -MF "$(DEPDIR)/network-read_sync.Tpo" -c -o network-read_sync.o `test -f 'read_sync.cc' || echo '$(srcdir)/'`read_sync.cc; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/network-read_sync.Tpo" "$(DEPDIR)/network-read_sync.Po"; else rm -f "$(DEPDIR)/network-read_sync.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='read_sync.cc' object='network-read_sync.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(network_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o network-read_sync.o `test -f 'read_sync.cc' || echo '$(srcdir)/'`read_sync.cc
+
+network-read_sync.obj: read_sync.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(network_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT network-read_sync.obj -MD -MP -MF "$(DEPDIR)/network-read_sync.Tpo" -c -o network-read_sync.obj `if test -f 'read_sync.cc'; then $(CYGPATH_W) 'read_sync.cc'; else $(CYGPATH_W) '$(srcdir)/read_sync.cc'; fi`; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/network-read_sync.Tpo" "$(DEPDIR)/network-read_sync.Po"; else rm -f "$(DEPDIR)/network-read_sync.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='read_sync.cc' object='network-read_sync.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(network_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o network-read_sync.obj `if test -f 'read_sync.cc'; then $(CYGPATH_W) 'read_sync.cc'; else $(CYGPATH_W) '$(srcdir)/read_sync.cc'; fi`
+
+network-write_sync.o: write_sync.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(network_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT network-write_sync.o -MD -MP -MF "$(DEPDIR)/network-write_sync.Tpo" -c -o network-write_sync.o `test -f 'write_sync.cc' || echo '$(srcdir)/'`write_sync.cc; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/network-write_sync.Tpo" "$(DEPDIR)/network-write_sync.Po"; else rm -f "$(DEPDIR)/network-write_sync.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='write_sync.cc' object='network-write_sync.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(network_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o network-write_sync.o `test -f 'write_sync.cc' || echo '$(srcdir)/'`write_sync.cc
+
+network-write_sync.obj: write_sync.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(network_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT network-write_sync.obj -MD -MP -MF "$(DEPDIR)/network-write_sync.Tpo" -c -o network-write_sync.obj `if test -f 'write_sync.cc'; then $(CYGPATH_W) 'write_sync.cc'; else $(CYGPATH_W) '$(srcdir)/write_sync.cc'; fi`; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/network-write_sync.Tpo" "$(DEPDIR)/network-write_sync.Po"; else rm -f "$(DEPDIR)/network-write_sync.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='write_sync.cc' object='network-write_sync.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(network_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o network-write_sync.obj `if test -f 'write_sync.cc'; then $(CYGPATH_W) 'write_sync.cc'; else $(CYGPATH_W) '$(srcdir)/write_sync.cc'; fi`
 
 network-base_object.o: $(MAINSRCDIR)/lib/lang/base_object.cc
Index: branches/network/src/subprojects/network/network_unit_test.cc
===================================================================
--- branches/network/src/subprojects/network/network_unit_test.cc	(revision 5824)
+++ branches/network/src/subprojects/network/network_unit_test.cc	(revision 5829)
@@ -12,4 +12,5 @@
 
 #include "simple_sync.h"
+#include "read_sync.h"
 
 int verbose = 4;
@@ -25,4 +26,5 @@
   printf(" --server [port number]     creates a test server\n");
   printf(" --client [address] [port]  connects to a server\n");
+  printf(" --listen [address] [port]  just listens to this connection");
   printf("\n");
 }
@@ -76,4 +78,5 @@
 
 #define _N_ELEMENTS 212994
+
   char sendbuf[_N_ELEMENTS+1];
   char recvbuf[_N_ELEMENTS+1];
@@ -131,5 +134,5 @@
 
   /* create the network manager */
-  NetworkManager* nm = new NetworkManager();
+  NetworkManager* nm = NetworkManager::getInstance();
 
   /* initialize the network manager */
@@ -143,5 +146,6 @@
   int error = SDLNet_ResolveHost(&ip, "127.0.0.1", port);
   //SDLNet_ResolveHost(&ip, "localhost", port);
-  if(error == -1) printf("\n\nerror on address resolution, program inconsistancy\n\n");
+  if(error == -1)
+    printf("\n\nerror on address resolution, program inconsistancy\n\n");
   nm->establishConnection(ip, *clientSync);
   /* adding some break for connection setup */
@@ -149,5 +153,6 @@
 
   /* synchronize the data 1 time (increment for longer tests) */
-  for( int i = 0; i < 3; i++) {
+  for( int i = 0; i < 3; i++)
+  {
     nm->synchronize();
     /* simulate the network delay */
@@ -177,5 +182,6 @@
 int startServer(int argc, char** argv)
 {
-  if( argc <= 2) {
+  if( argc <= 2)
+  {
     printf(" Wrong arguments try following notations:\n");
     printf("   --server [port number]\n");
@@ -186,15 +192,20 @@
   printf("Starting Server on port %i\n", port);
 
-  NetworkManager* netMan = new NetworkManager();
+  NetworkManager* netMan = NetworkManager::getInstance();
   Synchronizeable* ss = new SimpleSync("Server\0");
 
-  //NetworkStream* server = new NetworkStream(port, ss, NET_SERVER);
   netMan->createServer(*ss, port);
   SDL_Delay(20);
 
-  for(;;) {
+  for(;;)
+  {
     netMan->synchronize();
     SDL_Delay(500);
   }
+
+  delete netMan;
+  delete ss;
+
+
   return 0;
 }
@@ -203,8 +214,9 @@
 int startClient(int argc, char** argv)
 {
-  if( argc < 3) {
+  if( argc < 3)
+  {
     printf(" Wrong arguments try following notations:\n");
     printf("   --client [server ip] [port number]\n");
-    printf("   --server [server name] [port number]\n");
+    printf("   --client [server name] [port number]\n");
     return 0;
   }
@@ -216,18 +228,56 @@
   IPaddress ip;
   int error = SDLNet_ResolveHost(&ip, name, port);
-  //SDLNet_ResolveHost(&ip, "localhost", port);
-  if(error == -1) printf("\n\nerror on address resolution, program inconsistancy\n\n");
-
-  NetworkManager* netMan = new NetworkManager();
+  if(error == -1)
+    printf("\n\nerror on address resolution, program inconsistancy\n\n");
+
+  NetworkManager* netMan = NetworkManager::getInstance();
   Synchronizeable* ss = new SimpleSync("Client\0");
 
   netMan->establishConnection(ip, *ss);
 
-  for(;;) {
+  for(;;)
+  {
     netMan->synchronize();
     SDL_Delay(500);
   }
 
-  //NetworkStream* client = new NetworkStream(ip, ss, NET_CLIENT);
+
+  delete netMan;
+  delete ss;
+
+  return 0;
+}
+
+
+
+int startListen(int argc, char** argv)
+{
+  if( argc < 3)
+  {
+    printf(" Wrong arguments try following notations:\n");
+    printf("   --listen [server ip] [port number]\n");
+    printf("   --listen [server name] [port number]\n");
+    return 0;
+  }
+
+  char* name = argv[2];
+  int port = atoi(argv[3]);
+  printf("Connecting to %s, on port %i\n", name, port);
+
+  IPaddress ip;
+  int error = SDLNet_ResolveHost(&ip, name, port);
+  if(error == -1)
+    printf("\n\nerror on address resolution, program inconsistancy\n\n");
+
+  NetworkManager* netMan = NetworkManager::getInstance();
+  Synchronizeable* ss = new ReadSync("WriteSync\0");
+
+  netMan->establishConnection(ip, *ss);
+
+  for(;;)
+  {
+    netMan->synchronize();
+    SDL_Delay(10);
+  }
 
 
@@ -253,8 +303,14 @@
   {
     //else if(!strcmp( "--gui", argv[i]) || !strcmp("-g", argv[i])) showGui = true;
-    if (! strcmp( "--sockettest", argv[i]) || !strcmp("-st", argv[i])) return testSocket(argc, argv);
-    else if (! strcmp( "--frameworktest", argv[i]) || !strcmp("-ft", argv[i])) return testFramework(argc, argv);
-    else if (! strcmp( "--server", argv[i]) || !strcmp("-s", argv[i])) return startServer(argc, argv);
-    else if (! strcmp( "--client", argv[i]) || !strcmp("-c", argv[i])) return startClient(argc, argv);
+    if (! strcmp( "--sockettest", argv[i]) || !strcmp("-st", argv[i]))
+      return testSocket(argc, argv);
+    else if (! strcmp( "--frameworktest", argv[i]) || !strcmp("-ft", argv[i]))
+      return testFramework(argc, argv);
+    else if (! strcmp( "--server", argv[i]) || !strcmp("-s", argv[i]))
+      return startServer(argc, argv);
+    else if (! strcmp( "--client", argv[i]) || !strcmp("-c", argv[i]))
+      return startClient(argc, argv);
+    else if (! strcmp( "--listen", argv[i]) || !strcmp("-l", argv[i]))
+      return startListen(argc, argv);
   }
 
Index: branches/network/src/subprojects/network/read_sync.cc
===================================================================
--- branches/network/src/subprojects/network/read_sync.cc	(revision 5829)
+++ branches/network/src/subprojects/network/read_sync.cc	(revision 5829)
@@ -0,0 +1,100 @@
+/*
+  orxonox - the future of 3D-vertical-scrollers
+
+  Copyright (C) 2004 orx
+
+  This program is free software; you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+      the Free Software Foundation; either version 2, or (at your option)
+      any later version.
+
+### File Specific:
+    main-programmer: Patrick Boenzli
+    co-programmer:
+*/
+
+
+/* this is for debug output. It just says, that all calls to PRINT() belong to the DEBUG_MODULE_NETWORK module
+          For more information refere to https://www.orxonox.net/cgi-bin/trac.cgi/wiki/DebugOutput
+*/
+#define DEBUG_MODULE_NETWORK
+
+#include "read_sync.h"
+
+#include "debug.h"
+
+
+/**
+ *  default constructor
+ */
+ReadSync::ReadSync(const char* name)
+  : Synchronizeable(name)
+{
+  /* define the local buffer size */
+
+  this->inLength = 100;
+  this->recLength = 0;
+  this->inData = new byte[this->inLength];
+
+  /* init the buffer data */
+  for( int i = 0; i < this->inLength; i++)
+  {
+    this->inData[i] = 0;
+  }
+
+}
+
+
+/**
+ *  default destructor deletes all unneded stuff
+ */
+ReadSync::~ReadSync()
+{
+
+  if( this->inData)
+    delete[] this->inData;
+}
+
+
+/**
+ *  write data to Synchronizeable
+ */
+void ReadSync::writeBytes(const byte* data, int length)
+{
+  PRINTF(0)("ReadSync: got %i bytes of data\n", length);
+  this->recLength = length;
+  if(this->inLength < length)
+    PRINTF(0)("ERROR: local buffer is smaller than the data to receive.\n");
+
+  /* copy the data localy */
+  for( int i = 0; i < length; i++)
+  {
+    this->inData[i] = data[i];
+  }
+  /* and debug output */
+  this->writeDebug();
+}
+
+
+/**
+ *  read data from Synchronizeable
+ */
+int ReadSync::readBytes(byte* data)
+{
+  return 0;
+}
+
+
+void ReadSync::writeDebug() const
+{
+  PRINTF(0)("Write in bytes: \t(0 <-) |");
+  for(int i = 0; i < this->recLength; i++)
+  {
+    PRINT(0)(" [%u] ",this->inData[i]);
+  }
+  PRINT(0)("|\n");
+}
+
+
+void ReadSync::readDebug() const
+{}
Index: branches/network/src/subprojects/network/read_sync.h
===================================================================
--- branches/network/src/subprojects/network/read_sync.h	(revision 5829)
+++ branches/network/src/subprojects/network/read_sync.h	(revision 5829)
@@ -0,0 +1,33 @@
+/*!
+ * @file simple_sync.h
+ *  implementation of a network sync test
+ */
+
+#ifndef _READ_SYNC
+#define _READ_SYNC
+
+#include "synchronizeable.h"
+
+
+class ReadSync : public Synchronizeable
+  {
+  public:
+    ReadSync(const char* name);
+    ~ReadSync();
+
+    virtual void writeBytes(const byte* data, int length);
+    virtual int readBytes(byte* data);
+
+
+  private:
+    virtual void writeDebug() const;
+    virtual void readDebug() const;
+
+
+  private:
+    byte* inData;
+    int   inLength;
+    int   recLength;
+  };
+
+#endif /* _READ_SYNC */
Index: branches/network/src/subprojects/network/simple_sync.cc
===================================================================
--- branches/network/src/subprojects/network/simple_sync.cc	(revision 5824)
+++ branches/network/src/subprojects/network/simple_sync.cc	(revision 5829)
@@ -86,5 +86,5 @@
  *  read data from Synchronizeable
  */
-int SimpleSync::readBytes(byte* data) const
+int SimpleSync::readBytes(byte* data)
 {
   PRINTF(0)("SimpleSync: sent %i bytes of data\n", this->outLength);
Index: branches/network/src/subprojects/network/simple_sync.h
===================================================================
--- branches/network/src/subprojects/network/simple_sync.h	(revision 5824)
+++ branches/network/src/subprojects/network/simple_sync.h	(revision 5829)
@@ -17,5 +17,5 @@
 
     virtual void writeBytes(const byte* data, int length);
-    virtual int readBytes(byte* data) const;
+    virtual int readBytes(byte* data);
 
 
Index: branches/network/src/subprojects/network/write_sync.cc
===================================================================
--- branches/network/src/subprojects/network/write_sync.cc	(revision 5829)
+++ branches/network/src/subprojects/network/write_sync.cc	(revision 5829)
@@ -0,0 +1,123 @@
+/*
+  orxonox - the future of 3D-vertical-scrollers
+
+  Copyright (C) 2004 orx
+
+  This program is free software; you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+      the Free Software Foundation; either version 2, or (at your option)
+      any later version.
+
+### File Specific:
+    main-programmer: Patrick Boenzli
+    co-programmer:
+*/
+
+
+/* this is for debug output. It just says, that all calls to PRINT() belong to the DEBUG_MODULE_NETWORK module
+          For more information refere to https://www.orxonox.net/cgi-bin/trac.cgi/wiki/DebugOutput
+*/
+#define DEBUG_MODULE_NETWORK
+
+#include "write_sync.h"
+
+#include "debug.h"
+
+
+/**
+ *  default constructor
+ */
+WriteSync::WriteSync(const char* name)
+  : Synchronizeable(name)
+{
+  /* define the local buffer size */
+  this->outLength = 10;
+  this->recLength = 0;
+  this->inLength = 40;
+  this->outData = new byte[this->outLength];
+  this->inData = new byte[this->inLength];
+
+  /* init the buffer data */
+  for( int i = 0; i < this->outLength; i++)
+  {
+    this->outData[i] = i;
+  }
+  for( int i = 0; i < this->inLength; i++)
+  {
+    this->inData[i] = 0;
+  }
+
+}
+
+
+/**
+ *  default destructor deletes all unneded stuff
+ */
+WriteSync::~WriteSync()
+{
+  if( this->outData)
+    delete[] this->outData;
+  if( this->inData)
+    delete[] this->inData;
+}
+
+
+/**
+ *  write data to Synchronizeable
+ */
+void WriteSync::writeBytes(const byte* data, int length)
+{
+  PRINTF(0)("WriteSync: got %i bytes of data\n", length);
+  this->recLength = length;
+  if(this->inLength < length)
+    PRINTF(0)("ERROR: local buffer is smaller than the data to receive.\n");
+
+  /* copy the data localy */
+  for( int i = 0; i < length; i++)
+  {
+    this->inData[i] = data[i];
+  }
+  /* and debug output */
+  this->writeDebug();
+}
+
+
+/**
+ *  read data from Synchronizeable
+ */
+int WriteSync::readBytes(byte* data)
+{
+  PRINTF(0)("WriteSync: sent %i bytes of data\n", this->outLength);
+
+  /* debug msg */
+  this->readDebug();
+
+  /* write the test message */
+  for( int i = 0; i < this->outLength; i++)
+    data[i] = this->outData[i];
+
+  /* return the length of the test */
+  return this->outLength;
+}
+
+
+void WriteSync::writeDebug() const
+{
+  PRINTF(0)("Write in bytes: \t(0 <-) |");
+  for(int i = 0; i < this->recLength; i++)
+  {
+    PRINT(0)(" [%u] ",this->inData[i]);
+  }
+  PRINT(0)("|\n");
+}
+
+
+void WriteSync::readDebug() const
+{
+  PRINTF(0)("Read out bytes: \t(0 ->) |");
+  for(int i = 0; i < this->outLength; i++)
+  {
+    PRINT(0)(" [%u] ",this->outData[i]);
+  }
+  PRINT(0)("|\n");
+}
Index: branches/network/src/subprojects/network/write_sync.h
===================================================================
--- branches/network/src/subprojects/network/write_sync.h	(revision 5829)
+++ branches/network/src/subprojects/network/write_sync.h	(revision 5829)
@@ -0,0 +1,35 @@
+/*!
+ * @file simple_sync.h
+ *  implementation of a network sync test
+ */
+
+#ifndef _WRITE_SYNC
+#define _WRITE_SYNC
+
+#include "synchronizeable.h"
+
+
+class WriteSync : public Synchronizeable
+  {
+  public:
+    WriteSync(const char* name);
+    ~WriteSync();
+
+    virtual void writeBytes(const byte* data, int length);
+    virtual int readBytes(byte* data);
+
+
+  private:
+    virtual void writeDebug() const;
+    virtual void readDebug() const;
+
+
+  private:
+    byte* inData;
+    int   inLength;
+    int   recLength;
+    byte* outData;
+    int   outLength;
+  };
+
+#endif /* _WRITE_SYNC */
