Mercurial Hosting > luan
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();