diff src/luan/modules/ThreadLuan.java @ 1333:25746915a241

merge Luan and LuanState
author Franklin Schmidt <fschmidt@gmail.com>
date Tue, 12 Feb 2019 22:33:40 -0700
parents f41919741100
children e0cf0d108a77
line wrap: on
line diff
--- a/src/luan/modules/ThreadLuan.java	Tue Feb 12 21:50:26 2019 -0700
+++ b/src/luan/modules/ThreadLuan.java	Tue Feb 12 22:33:40 2019 -0700
@@ -12,7 +12,6 @@
 import java.util.concurrent.ScheduledFuture;
 import java.util.concurrent.TimeUnit;
 import luan.Luan;
-import luan.LuanState;
 import luan.LuanFunction;
 import luan.LuanTable;
 import luan.LuanException;
@@ -24,9 +23,9 @@
 	private static final Executor exec = Executors.newCachedThreadPool();
 	public static final ScheduledThreadPoolExecutor scheduler = new ScheduledThreadPoolExecutor(1);
 
-	public static void fork(LuanState luan,LuanFunction fn) {
+	public static void fork(Luan luan,LuanFunction fn) {
 		LuanCloner cloner = new LuanCloner(LuanCloner.Type.COMPLETE);
-		final LuanState newLuan = (LuanState)cloner.clone(luan);
+		final Luan newLuan = (Luan)cloner.clone(luan);
 		final LuanFunction newFn = (LuanFunction)cloner.get(fn);
 		exec.execute(new Runnable(){public void run() {
 			try {
@@ -37,10 +36,10 @@
 		}});
 	}
 /*
-	public static LuanFunction synchronized_(final LuanState luan,final LuanFunction fn) throws LuanException {
+	public static LuanFunction synchronized_(final Luan luan,final LuanFunction fn) throws LuanException {
 		Utils.checkNotNull(fn);
 		return new LuanFunction() {
-			@Override public Object call(LuanState ingored,Object[] args) throws LuanException {
+			@Override public Object call(Luan ingored,Object[] args) throws LuanException {
 				synchronized(luan) {
 					return fn.call(luan,args);
 				}
@@ -48,11 +47,11 @@
 		};
 	}
 */
-	public static void schedule(LuanState luan,long delay,LuanFunction fn,String repeating)
+	public static void schedule(Luan luan,long delay,LuanFunction fn,String repeating)
 		throws LuanException
 	{
 		LuanCloner cloner = new LuanCloner(LuanCloner.Type.COMPLETE);
-		final LuanState newLuan = (LuanState)cloner.clone(luan);
+		final Luan newLuan = (Luan)cloner.clone(luan);
 		final LuanFunction newFn = (LuanFunction)cloner.get(fn);
 		Runnable r = new Runnable(){public void run() {
 			try {
@@ -130,7 +129,7 @@
 		}
 	}
 
-	private static Object makeSafe(LuanState luan,Object v) throws LuanException {
+	private static Object makeSafe(Luan luan,Object v) throws LuanException {
 		if( v instanceof LuanTable ) {
 			LuanTable tbl = (LuanTable)v;
 			if( tbl.getMetatable() != null )
@@ -164,15 +163,15 @@
 
 	public static final class Callable {
 		private long expires;
-		private final LuanState luan = new LuanState();
+		private final Luan luan = new Luan();
 		private final LuanTable fns;
 
-		Callable(LuanState luan,LuanTable fns) {
+		Callable(Luan luan,LuanTable fns) {
 			LuanCloner cloner = new LuanCloner(LuanCloner.Type.COMPLETE);
 			this.fns = (LuanTable)cloner.get(fns);
 		}
 
-		public synchronized Object call(LuanState callerLuan,String fnName,Object... args) throws LuanException {
+		public synchronized Object call(Luan callerLuan,String fnName,Object... args) throws LuanException {
 			Object obj = makeSafe(luan,args);
 			if( obj instanceof Unsafe )
 				throw new LuanException("can't pass "+((Unsafe)obj).reason+" to global_callable "+Arrays.asList(args));
@@ -202,7 +201,7 @@
 		}
 	}
 
-	public static synchronized Callable globalCallable(LuanState luan,String name,LuanTable fns,long timeout) {
+	public static synchronized Callable globalCallable(Luan luan,String name,LuanTable fns,long timeout) {
 		Callable callable = callableMap.get(name);
 		if( callable == null ) {
 			sweep();