// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- #ifndef __java_util_concurrent_SynchronousQueue__ #define __java_util_concurrent_SynchronousQueue__ #pragma interface #include #include class java::util::concurrent::SynchronousQueue : public ::java::util::AbstractQueue { public: SynchronousQueue(); SynchronousQueue(jboolean); virtual void put(::java::lang::Object *); virtual jboolean offer(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *); virtual jboolean offer(::java::lang::Object *); virtual ::java::lang::Object * take(); virtual ::java::lang::Object * poll(jlong, ::java::util::concurrent::TimeUnit *); virtual ::java::lang::Object * poll(); virtual jboolean isEmpty(); virtual jint size(); virtual jint remainingCapacity(); virtual void clear(); virtual jboolean contains(::java::lang::Object *); virtual jboolean remove(::java::lang::Object *); virtual jboolean containsAll(::java::util::Collection *); virtual jboolean removeAll(::java::util::Collection *); virtual jboolean retainAll(::java::util::Collection *); virtual ::java::lang::Object * peek(); virtual ::java::util::Iterator * iterator(); virtual JArray< ::java::lang::Object * > * toArray(); virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); virtual jint drainTo(::java::util::Collection *); virtual jint drainTo(::java::util::Collection *, jint); private: void writeObject(::java::io::ObjectOutputStream *); void readObject(::java::io::ObjectInputStream *); static const jlong serialVersionUID = -3223113410248163686LL; public: // actually package-private static jint NCPUS; static jint maxTimedSpins; static jint maxUntimedSpins; static const jlong spinForTimeoutThreshold = 1000LL; private: ::java::util::concurrent::SynchronousQueue$Transferer * volatile __attribute__((aligned(__alignof__( ::java::util::AbstractQueue)))) transferer; ::java::util::concurrent::locks::ReentrantLock * qlock; ::java::util::concurrent::SynchronousQueue$WaitQueue * waitingProducers; ::java::util::concurrent::SynchronousQueue$WaitQueue * waitingConsumers; public: static ::java::lang::Class class$; }; #endif // __java_util_concurrent_SynchronousQueue__