Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37551025
en ru br
Репозитории ALT
5.1: 2.0-alt2_3jpp5
4.1: 2.0-alt1_3jpp1.7
4.0: 2.0-alt1_3jpp1.7
www.altlinux.org/Changes

Группа :: Разработка/Java
Пакет: activeio

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: activeio-2.0-SynchToAsynchChannelAdapter.patch
Скачать


--- src/java/org/activeio/adapter/SynchToAsynchChannelAdapter.java.sav	2006-09-06 11:00:46.000000000 +0200
+++ src/java/org/activeio/adapter/SynchToAsynchChannelAdapter.java	2006-09-06 11:01:47.000000000 +0200
@@ -16,8 +16,39 @@
  */
 package org.activeio.adapter;
 
+import org.activeio.SyncChannel;
+import org.activeio.AsyncChannel;
+import org.activeio.Channel;
+import EDU.oswego.cs.dl.util.concurrent.Executor;
+
 /**
- * @version $Revision$ $Date$
+ * @deprecated  Use AsyncChannelServer instead.  This class will be removed very soon.
  */
-public class SynchToAsynchChannelAdapter {
+public class SynchToAsynchChannelAdapter extends SyncToAsyncChannel{
+    public SynchToAsynchChannelAdapter(SyncChannel syncChannel) {
+        super(syncChannel);
+    }
+
+    public SynchToAsynchChannelAdapter(SyncChannel syncChannel, Executor executor) {
+        super(syncChannel, executor);
+    }
+    static public AsyncChannel adapt(Channel channel, Executor executor) {
+
+        // It might not need adapting
+        if( channel instanceof AsyncChannel ) {
+            return (AsyncChannel) channel;
+        }
+
+        // Can we just just undo the adaptor
+        if( channel.getClass() == SyncToAsyncChannel.class ) {
+            return ((AsyncToSyncChannel)channel).getAsyncChannel();
+        }
+        // Can we just just undo the adaptor
+        if( channel.getClass() == org.activeio.adapter.SynchToAsynchChannelAdapter.class ) {
+            return ((AsyncToSyncChannel)channel).getAsyncChannel();
+        }
+
+        return new SyncToAsyncChannel((SyncChannel) channel, executor);
+
+    }
 }
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin