package com.robonobo.mina.message.handlers; import java.io.IOException; import java.io.InputStream; import com.google.protobuf.GeneratedMessage; import com.robonobo.mina.message.MessageHolder; import com.robonobo.mina.message.proto.MinaProtocol.SourceStopping; import com.robonobo.mina.message.proto.MinaProtocol.StopSource; import com.robonobo.mina.network.BCPair; import com.robonobo.mina.network.LCPair; public class SourceStoppingHandler extends AbstractMessageHandler { @Override public void handleMessage(MessageHolder mh) { SourceStopping ss = (SourceStopping) mh.getMessage(); LCPair lcp = mh.getFromCC().getLCPair(ss.getStreamId()); if(lcp != null) lcp.die(false); else log.error("Node "+mh.getFromCC().getNodeId()+" sent SourceStopping for stream "+ss.getStreamId()+", but I have no lcp for that stream"); } @Override public SourceStopping parse(String cmdName, InputStream is) throws IOException { return SourceStopping.newBuilder().mergeFrom(is).build(); } }