// @(#)root/net:$Id$
// Author: Fons Rademakers   19/1/2001

/*************************************************************************
 * Copyright (C) 1995-2001, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TPServerSocket
#define ROOT_TPServerSocket


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TPServerSocket                                                       //
//                                                                      //
// This class implements parallel server sockets. A parallel server     //
// socket waits for requests to come in over the network. It performs   //
// some operation based on that request and then possibly returns a     //
// full duplex parallel socket to the requester. The actual work is     //
// done via the TSystem class (either TUnixSystem or TWinNTSystem).     //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TServerSocket
#include "TServerSocket.h"
#endif

class TPSocket;


class TPServerSocket : public TServerSocket {

private:
   Int_t  fTcpWindowSize; // size of tcp window (for window scaling)

   TPServerSocket(const TPServerSocket &);  // not implemented
   void operator=(const TPServerSocket &);  // idem

public:
   TPServerSocket(Int_t port, Bool_t reuse = kFALSE,
                  Int_t backlog = kDefaultBacklog,
                  Int_t tcpwindowsize = -1);
   TPServerSocket(const char *service, Bool_t reuse = kFALSE,
                  Int_t backlog = kDefaultBacklog,
                  Int_t tcpwindowsize = -1);

   virtual ~TPServerSocket() { }

   virtual TSocket *Accept(UChar_t Opt = kSrvNoAuth);

   ClassDef(TPServerSocket,0)  // Parallel server socket
};

#endif
 TPServerSocket.h:1
 TPServerSocket.h:2
 TPServerSocket.h:3
 TPServerSocket.h:4
 TPServerSocket.h:5
 TPServerSocket.h:6
 TPServerSocket.h:7
 TPServerSocket.h:8
 TPServerSocket.h:9
 TPServerSocket.h:10
 TPServerSocket.h:11
 TPServerSocket.h:12
 TPServerSocket.h:13
 TPServerSocket.h:14
 TPServerSocket.h:15
 TPServerSocket.h:16
 TPServerSocket.h:17
 TPServerSocket.h:18
 TPServerSocket.h:19
 TPServerSocket.h:20
 TPServerSocket.h:21
 TPServerSocket.h:22
 TPServerSocket.h:23
 TPServerSocket.h:24
 TPServerSocket.h:25
 TPServerSocket.h:26
 TPServerSocket.h:27
 TPServerSocket.h:28
 TPServerSocket.h:29
 TPServerSocket.h:30
 TPServerSocket.h:31
 TPServerSocket.h:32
 TPServerSocket.h:33
 TPServerSocket.h:34
 TPServerSocket.h:35
 TPServerSocket.h:36
 TPServerSocket.h:37
 TPServerSocket.h:38
 TPServerSocket.h:39
 TPServerSocket.h:40
 TPServerSocket.h:41
 TPServerSocket.h:42
 TPServerSocket.h:43
 TPServerSocket.h:44
 TPServerSocket.h:45
 TPServerSocket.h:46
 TPServerSocket.h:47
 TPServerSocket.h:48
 TPServerSocket.h:49
 TPServerSocket.h:50
 TPServerSocket.h:51
 TPServerSocket.h:52
 TPServerSocket.h:53
 TPServerSocket.h:54
 TPServerSocket.h:55
 TPServerSocket.h:56
 TPServerSocket.h:57
 TPServerSocket.h:58