Browse Source

neko.vm.Deque.hx documentation

from http://nekovm.org/doc/view/thread
Mark Knol 10 years ago
parent
commit
c63fc46071
1 changed files with 18 additions and 0 deletions
  1. 18 0
      std/neko/vm/Deque.hx

+ 18 - 0
std/neko/vm/Deque.hx

@@ -23,18 +23,36 @@ package neko.vm;
 
 
 class Deque<T> {
 class Deque<T> {
 	var q : Dynamic;
 	var q : Dynamic;
+
+	/**
+		Create a message queue for multithread access
+	*/
 	public function new() {
 	public function new() {
 		q = deque_create();
 		q = deque_create();
 	}
 	}
+
+	/**
+		Add a message at the end of the queue
+	*/
 	public function add( i : T ) {
 	public function add( i : T ) {
 		deque_add(q,i);
 		deque_add(q,i);
 	}
 	}
+
+	/**
+		Add a message at the head of the queue
+	*/
 	public function push( i : T ) {
 	public function push( i : T ) {
 		deque_push(q,i);
 		deque_push(q,i);
 	}
 	}
+
+	/**
+		Pop a message from the queue head. Either block until a message 
+		is available or return immediately with `null`
+	*/
 	public function pop( block : Bool ) : Null<T> {
 	public function pop( block : Bool ) : Null<T> {
 		return deque_pop(q,block);
 		return deque_pop(q,block);
 	}
 	}
+
 	static var deque_create = neko.Lib.loadLazy("std","deque_create",0);
 	static var deque_create = neko.Lib.loadLazy("std","deque_create",0);
 	static var deque_add = neko.Lib.loadLazy("std","deque_add",2);
 	static var deque_add = neko.Lib.loadLazy("std","deque_add",2);
 	static var deque_push = neko.Lib.loadLazy("std","deque_push",2);
 	static var deque_push = neko.Lib.loadLazy("std","deque_push",2);