package jane.test;
import jane.test.async.AsyncException;
import jane.test.async.AsyncHandler;
import jane.test.async.AsyncManager;
import jane.test.async.AsyncTask;
public class TestAsync
{
public static void main(String[] args) throws InterruptedException
{
AsyncManager.setAsyncException(new AsyncException()
{
@Override
public void onException(Runnable r, Throwable e)
{
System.err.println(e);
}
});
AsyncManager.get().submit(new AsyncTask()
{
private int i = 0;
@Override
public void run()
{
if(i < 10)
{
System.out.println(i++);
yield(this);
}
else
{
await(1000, new AsyncTask()
{
@Override
public void run()
{
System.out.println("timeout!");
}
});
awaitReadFile("README.md", new AsyncHandler<byte[]>()
{
@Override
public void onHandler(byte[] result)
{
System.out.println("read: " + (result != null ? result.length : -1));
}
});
}
}
});
for(;;)
{
if(AsyncManager.get().tick() == 0)
Thread.sleep(10);
}
}
}