OSDN Git Service

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