package tc.oc.commons.bungee.scheduler; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import com.google.common.util.concurrent.ListeningExecutorService; import com.google.common.util.concurrent.MoreExecutors; import com.google.inject.Key; import tc.oc.commons.core.inject.HybridManifest; import tc.oc.commons.core.scheduler.SchedulerBackend; import tc.oc.commons.core.scheduler.SchedulerBackendImpl; import tc.oc.minecraft.scheduler.Sync; public class BungeeSchedulerManifest extends HybridManifest { @Override protected void configure() { bind(SchedulerBackend.class).to(SchedulerBackendImpl.class); final ListeningExecutorService executor = MoreExecutors.listeningDecorator(Executors.newSingleThreadExecutor()); bind(Key.get(ExecutorService.class, Sync.immediate)).toInstance(executor); bind(Key.get(ExecutorService.class, Sync.deferred)).toInstance(executor); } }