//=========================================================================
// Summary  : */
// Filename : SharedObjectServer.h
// Author   : */
// Project  : */
// Revision : 1
// Created  : 2001/01/18
// Modified : 2001/01/18
//=========================================================================
// Description :
//=========================================================================
#ifndef _SHAREDOBJECTSERVERNONBLOCKING_H
#define _SHAREDOBJECTSERVERNONBLOCKING_H

#include "SharedObjectServer.h"


/*
CLASS 
SharedObjectServerNonblocking

DESCRIPTION
SharedObjectServerNonblocking fills requests from SharedObjectClient objects
 and calls OnIdle() when it has no requests to process.


AUTHOR
Andrew Grant
*/

class SharedObjectServerNonblocking : public SharedObjectServer {

public:

  ////////////////////////////////////////////////////////////////////
  // Constructor
  // [input] name: Name of server. Clients find the server using this
  // name.
  SharedObjectServerNonblocking(const char *name);
  virtual ~SharedObjectServerNonblocking();

  ////////////////////////////////////////////////////////////////////
  // Overrides:
  virtual void run();

  ////////////////////////////////////////////////////////////////////
  // onIdle - called when we have no pending requests
  virtual void onIdle();

protected:
private:
};

#endif
