public FileSystemCommandConnection(NetworkServer networkServer, Socket socket, IFileSystemManager fileSystemManager)
            : base(networkServer, socket)
        {
            this.connectionId = Interlocked.Increment(ref connectionIdCount);

            this.ProtocolReadLogger    = new ProtocolReadLog(this.connectionId.ToString());
            this.ProtocolWriteLogger   = new ProtocolWriteLog(this.connectionId.ToString());
            this.ProtocolTrafficLogger = new ProtocolTrafficLog(this.connectionId.ToString());

            this.FileSystemManager = fileSystemManager;

            this.ReadStream  = RawReadStream;
            this.WriteStream = RawWriteStream;

            System.Reflection.AssemblyName name;

            name = GetType().Assembly.GetName();

            WriteTextBlock("NETVFS {0}.{1}", name.Version.Major, name.Version.Minor);

            this.binaryReadContext = new DeterministicBinaryReadContext(this);
        }
		public FileSystemCommandConnection(NetworkServer networkServer, Socket socket, IFileSystemManager fileSystemManager)
			: base(networkServer, socket)
		{
			this.connectionId = Interlocked.Increment(ref connectionIdCount);

			this.ProtocolReadLogger = new ProtocolReadLog(this.connectionId.ToString());
			this.ProtocolWriteLogger = new ProtocolWriteLog(this.connectionId.ToString());
			this.ProtocolTrafficLogger = new ProtocolTrafficLog(this.connectionId.ToString());
			
			this.FileSystemManager = fileSystemManager;

            this.ReadStream = RawReadStream;
			this.WriteStream = RawWriteStream;

			System.Reflection.AssemblyName name;

			name = GetType().Assembly.GetName();

			WriteTextBlock("NETVFS {0}.{1}", name.Version.Major, name.Version.Minor);
			
			this.binaryReadContext = new DeterministicBinaryReadContext(this);
		}