@@ -0,0 +1,1954 @@
+/*%0A * Copyright 2009-2010 by The Regents of the University of California%0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * you may obtain a copy of the License from%0A * %0A *     http://www.apache.org/licenses/LICENSE-2.0%0A * %0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0Apackage edu.uci.ics.hyracks.client.net;%0A%0Aimport java.io.IOException;%0Aimport java.net.InetSocketAddress;%0Aimport java.net.SocketAddress;%0A%0Aimport edu.uci.ics.hyracks.comm.channels.IChannelConnectionFactory;%0Aimport edu.uci.ics.hyracks.net.exceptions.NetException;%0Aimport edu.uci.ics.hyracks.net.protocols.muxdemux.ChannelControlBlock;%0Aimport edu.uci.ics.hyracks.net.protocols.muxdemux.MultiplexedConnection;%0Aimport edu.uci.ics.hyracks.net.protocols.muxdemux.MuxDemux;%0Aimport edu.uci.ics.hyracks.net.protocols.muxdemux.MuxDemuxPerformanceCounters;%0A%0Apublic class ClientNetworkManager implements IChannelConnectionFactory %7B%0A    private static final int MAX_CONNECTION_ATTEMPTS = 5;%0A%0A    private final MuxDemux md;%0A%0A    public ClientNetworkManager(int nThreads)%0A            throws IOException %7B%0A        md = new MuxDemux(nThreads, MAX_CONNECTION_ATTEMPTS);%0A    %7D%0A%0A    public void start() throws IOException %7B%0A        md.start();%0A    %7D%0A%0A    public void stop() %7B%0A%0A    %7D%0A%0A    public ChannelControlBlock connect(SocketAddress remoteAddress) throws InterruptedException, NetException %7B%0A        MultiplexedConnection mConn = md.connect((InetSocketAddress) remoteAddress);%0A        return mConn.openChannel();%0A    %7D%0A%0A    public MuxDemuxPerformanceCounters getPerformanceCounters() %7B%0A        return md.getPerformanceCounters();%0A    %7D%0A%7D

Implement a network manager for the dataset clients to talk to the result distributing nodes.