/** * Copyright (C) 2010-14 diirt developers. See COPYRIGHT.TXT * All rights reserved. Use is subject to license terms. See LICENSE.TXT */ package org.diirt.datasource.test; import org.diirt.datasource.ChannelWriteCallback; import org.diirt.datasource.MultiplexedChannelHandler; /** * Implementation for channels of a {@link TestDataSource}. * * @author carcassi */ class DelayedWriteChannel extends MultiplexedChannelHandler<Object, Object> { DelayedWriteChannel(String channelName) { super(channelName); } @Override public void connect() { processConnection(new Object()); } @Override public void disconnect() { processConnection(null); } @Override public void write(Object newValue, ChannelWriteCallback callback) { try { Thread.sleep(1000); processMessage(newValue); callback.channelWritten(null); } catch (Exception ex) { callback.channelWritten(ex); } } }