Mercurial > hg > Database > Alice
view src/main/java/alice/datasegment/CompressedRemoteDataSegmentManager.java @ 547:e91a574b69de dispose
remove index
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 18 Aug 2015 16:15:17 +0900 |
parents | 8f949fa80653 |
children |
line wrap: on
line source
package alice.datasegment; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.channels.SocketChannel; import java.util.concurrent.LinkedBlockingQueue; import org.apache.log4j.Logger; import alice.codesegment.CodeSegment; import alice.daemon.Connection; import alice.daemon.IncomingTcpConnection; import alice.daemon.OutboundTcpConnection; public class CompressedRemoteDataSegmentManager extends DataSegmentManager { RemoteDataSegmentManager manager; public CompressedRemoteDataSegmentManager(RemoteDataSegmentManager manager) { this.manager = manager; } /** * send put command to target DataSegment */ @Override public void put(String key, ReceiveData rData, boolean quickFlag) { if (!rData.compressed()){ try { rData.zip(); } catch (IOException e) { e.printStackTrace(); } } Command cmd = new Command(CommandType.PUT, null, key, rData, 0, null, null, ""); cmd.setCompressFlag(true); manager.put1(quickFlag, cmd); } @Override public void update(String key, ReceiveData rData, boolean quickFlag) { if (!rData.compressed()){ try { rData.zip(); } catch (IOException e) { e.printStackTrace(); } } Command cmd = new Command(CommandType.UPDATE, null, key, rData, 0, null, null, ""); cmd.setCompressFlag(true); manager.put1(quickFlag, cmd); } @Override public void take(Receiver receiver, CodeSegment cs, boolean quickFlag) { Command cmd = new Command(CommandType.TAKE, receiver, receiver.key, null, 0, replyQueue, cs, null); cmd.setCompressFlag(true); manager.take1(quickFlag, cmd); } @Override public void peek(Receiver receiver, CodeSegment cs, boolean quickFlag) { Command cmd = new Command(CommandType.PEEK, receiver, receiver.key, null, 0, replyQueue, cs, null); cmd.setCompressFlag(true); manager.take1(quickFlag, cmd); } @Override public void remove(String key) { manager.remove(key); } @Override public void finish() { manager.finish(); } @Override public void ping(String returnKey) { manager.ping(returnKey); } @Override public void response(String returnKey) { manager.response(returnKey); } @Override public void close() { manager.close(); } @Override public void shutdown() { manager.shutdown(); } @Override public void setSendError(boolean b) { manager.setSendError(b); } }