Exchanger.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
  2. #ifndef __java_util_concurrent_Exchanger__
  3. #define __java_util_concurrent_Exchanger__
  4. #pragma interface
  5. #include <java/lang/Object.h>
  6. #include <gcj/array.h>
  7. class java::util::concurrent::Exchanger : public ::java::lang::Object
  8. {
  9. ::java::lang::Object * doExchange(::java::lang::Object *, jboolean, jlong);
  10. jint hashIndex();
  11. void createSlot(jint);
  12. static jboolean tryCancel(::java::util::concurrent::Exchanger$Node *, ::java::util::concurrent::Exchanger$Slot *);
  13. static ::java::lang::Object * spinWait(::java::util::concurrent::Exchanger$Node *, ::java::util::concurrent::Exchanger$Slot *);
  14. static ::java::lang::Object * await(::java::util::concurrent::Exchanger$Node *, ::java::util::concurrent::Exchanger$Slot *);
  15. ::java::lang::Object * awaitNanos(::java::util::concurrent::Exchanger$Node *, ::java::util::concurrent::Exchanger$Slot *, jlong);
  16. ::java::lang::Object * scanOnTimeout(::java::util::concurrent::Exchanger$Node *);
  17. public:
  18. Exchanger();
  19. virtual ::java::lang::Object * exchange(::java::lang::Object *);
  20. virtual ::java::lang::Object * exchange(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *);
  21. private:
  22. static jint NCPU;
  23. static const jint CAPACITY = 32;
  24. static jint FULL;
  25. static jint SPINS;
  26. static jint TIMED_SPINS;
  27. static ::java::lang::Object * CANCEL;
  28. static ::java::lang::Object * NULL_ITEM;
  29. JArray< ::java::util::concurrent::Exchanger$Slot * > * volatile __attribute__((aligned(__alignof__( ::java::lang::Object)))) arena;
  30. ::java::util::concurrent::atomic::AtomicInteger * max;
  31. public:
  32. static ::java::lang::Class class$;
  33. };
  34. #endif // __java_util_concurrent_Exchanger__