wow. that was easy: git mv core nucleus
[feisty_meow.git] / core / library / processes / rendezvous.h
diff --git a/core/library/processes/rendezvous.h b/core/library/processes/rendezvous.h
deleted file mode 100644 (file)
index b04f3bd..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-#ifndef RENDEZVOUS_CLASS
-#define RENDEZVOUS_CLASS
-
-/*****************************************************************************\
-*                                                                             *
-*  Name   : rendezvous                                                        *
-*  Author : Chris Koeritz                                                     *
-*                                                                             *
-*******************************************************************************
-* Copyright (c) 2001-$now By Author.  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 of   *
-* the License or (at your option) any later version.  This is online at:      *
-*     http://www.fsf.org/copyleft/gpl.html                                    *
-* Please send any updates to: fred@gruntose.com                               *
-\*****************************************************************************/
-
-#include <basis/astring.h>
-#include <basis/contracts.h>
-
-namespace processes {
-
-//! An inter-process synchronization primitive.
-/*!
-  A lock can be created that only one process owns at a time; those that do
-  not acquire the lock can either return immediately or wait until the current
-  lock owner releases the rendezvous.  This is unlike the mutex object in
-  basis, since mutexes only synchronize within the same application.  The
-  rendezvous can instead allow synchronization of resources between
-  applications, but this comes at a higher cost per usage.
-*/
-
-class rendezvous : public virtual basis::base_synchronizer
-{
-public:
-  rendezvous(const basis::astring &root_name);
-    //!< the healthy() method should be checked to ensure creation succeeded.
-
-  virtual ~rendezvous();
-    //!< any lock held is released and the lower level structures freed.
-
-  DEFINE_CLASS_NAME("rendezvous");
-
-  bool healthy() const;
-    //!< returns true if the rendezvous object is operable.
-    /*!< there are cases where creation of the rendezvous might fail; they
-    can be trapped here. */
-
-  //! different ways that the lock() attempt can be made.
-  enum locking_methods { NO_LOCKING, ENDLESS_WAIT, IMMEDIATE_RETURN };
-
-  bool lock(locking_methods how = ENDLESS_WAIT);
-    //!< grab the lock, if possible.
-    /*!< if this is not the first time locking the same rendezvous, that's
-    fine as long as the number of unlocks matches the number of locks. */
-
-  void unlock();
-    //!< releases a previously acquired lock.
-
-  // these two methods implement the synchronizer_base interface.
-  virtual void establish_lock();
-  virtual void repeal_lock();
-
-  const basis::astring &root_name() const;
-    //!< returns the root name passed in the constructor.
-
-private:
-  void *_handle;  //!< the real OS version of the inter-app lock.
-  bool _locked;  //!< true if the lock was successful and still locked.
-  basis::astring *_root_name;  //!< the identifier for this rendezvous.
-};
-
-} //namespace.
-
-#endif
-