Commit d656f9b1 authored by chiaming2000's avatar chiaming2000
Browse files

Includes GetLog.Configuration and GetLog.Limits in the UNSOLICITEDSTATUS

message.
parent 4d716f3f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@
			<attribute name="maven.pomderived" value="true"/>
		</attributes>
	</classpathentry>
	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.launching.macosx.MacOSXType/Java SE 7 [1.7.0_25]"/>
	<classpathentry combineaccessrules="false" kind="src" path="/kinetic-client"/>
	<classpathentry combineaccessrules="false" kind="src" path="/kinetic-common"/>
	<classpathentry kind="output" path="target/classes"/>
+54 −13
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ package com.seagate.kinetic.simulator.internal;
import io.netty.channel.ChannelHandlerContext;

import java.io.File;
import java.net.UnknownHostException;
import java.security.Key;
import java.util.ArrayList;
import java.util.Map;
@@ -37,8 +38,11 @@ import com.seagate.kinetic.common.lib.KineticMessage;
import com.seagate.kinetic.heartbeat.message.ByteCounter;
import com.seagate.kinetic.heartbeat.message.OperationCounter;
import com.seagate.kinetic.proto.Kinetic.Command;
import com.seagate.kinetic.proto.Kinetic.Command.GetLog.Configuration;
import com.seagate.kinetic.proto.Kinetic.Command.GetLog.Limits;
import com.seagate.kinetic.proto.Kinetic.Command.Security;
import com.seagate.kinetic.proto.Kinetic.Command.Status.StatusCode;
import com.seagate.kinetic.proto.Kinetic.Local;
import com.seagate.kinetic.proto.Kinetic.Message;
import com.seagate.kinetic.proto.Kinetic.Message.AuthType;
import com.seagate.kinetic.proto.Kinetic.Command.MessageType;
@@ -55,6 +59,8 @@ import com.seagate.kinetic.simulator.persist.KVOp;
import com.seagate.kinetic.simulator.persist.RangeOp;
import com.seagate.kinetic.simulator.persist.Store;
import com.seagate.kinetic.simulator.persist.StoreFactory;
import com.seagate.kinetic.simulator.utility.ConfigurationUtil;
import com.seagate.kinetic.simulator.utility.LimitsUtil;

/**
 *
@@ -87,6 +93,10 @@ public class SimulatorEngine implements MessageService {
    private final static Logger logger = Logger.getLogger(SimulatorEngine.class
            .getName());
    
    // protocol version
    public static final String PROTOCOL_VERSION = 
            Local.getDefaultInstance().getProtocolVersion();

    private SimulatorConfiguration config = null;

    @SuppressWarnings("rawtypes")
@@ -804,10 +814,40 @@ public class SimulatorEngine implements MessageService {
        mb.setAuthType(AuthType.UNSOLICITEDSTATUS);

        Command.Builder cb = Command.newBuilder();

        // connection id
        cb.getHeaderBuilder().setConnectionID(info.getConnectionId());

        // cluster version
        cb.getHeaderBuilder().setClusterVersion(this.clusterVersion);

        // configurations

        try {
            Configuration configuration = ConfigurationUtil
                    .getConfiguration(this.config);
            cb.getBodyBuilder().getGetLogBuilder().getConfigurationBuilder()
                    .mergeFrom(configuration);
        } catch (UnknownHostException e) {
            logger.log(Level.WARNING, e.getMessage(), e);
        }

        // cb.getBodyBuilder().getGetLogBuilder().getConfigurationBuilder().setProtocolVersion(PROTOCOL_VERSION);
        // cb.getBodyBuilder().getGetLogBuilder().getConfigurationBuilder().setCompilationDate(ConfigurationUtil.COMPILATION_DATE);
        // cb.getBodyBuilder().getGetLogBuilder().getConfigurationBuilder().setModel(ConfigurationUtil.MODEL);
        // cb.getBodyBuilder().getGetLogBuilder().getConfigurationBuilder().setVersion(SimulatorConfiguration.getSimulatorVersion());
        // cb.getBodyBuilder().getGetLogBuilder().getConfigurationBuilder().setSerialNumber(ByteString.copyFrom(ConfigurationUtil.SERIAL_NUMBER));
        //
        // limits
        try {
            Limits limits = LimitsUtil.getLimits(this.config);
            cb.getBodyBuilder().getGetLogBuilder().getLimitsBuilder()
                    .mergeFrom(limits);
        } catch (UnknownHostException e) {
            logger.log(Level.WARNING, e.getMessage(), e);
        }

        // status
        cb.getStatusBuilder().setCode(StatusCode.SUCCESS);

        mb.setCommandBytes(cb.build().toByteString());
@@ -817,7 +857,8 @@ public class SimulatorEngine implements MessageService {

        ctx.writeAndFlush(km);

        logger.info("***** connection registered., sent UNSOLICITEDSTATUS with cid = " + info.getConnectionId());
        logger.info("***** connection registered., sent UNSOLICITEDSTATUS with cid = "
                + info.getConnectionId());

        return info;
    }
+7 −5
Original line number Diff line number Diff line
@@ -42,12 +42,12 @@ public abstract class ConfigurationUtil {

    private final static Logger logger = Logger
            .getLogger(ConfigurationUtil.class.getName());
    private final static String VENDER = "Seagate";
    private final static String MODEL = "Simulator";
    private final static byte[] SERIAL_NUMBER = "93C3DAFD-C894-3C88-A4B0-632A90D2A04B"
    public final static String VENDER = "Seagate";
    public final static String MODEL = "Simulator";
    public final static byte[] SERIAL_NUMBER = "93C3DAFD-C894-3C88-A4B0-632A90D2A04B"
            .getBytes(Charset.forName("UTF-8"));
    private final static String COMPILATION_DATE = new Date().toString();
    private final static String PROTOCOL_COMPILATION_DATE = new Date()
    public final static String COMPILATION_DATE = new Date().toString();
    public final static String PROTOCOL_COMPILATION_DATE = new Date()
            .toString();

    @SuppressWarnings("static-access")
@@ -60,6 +60,8 @@ public abstract class ConfigurationUtil {
        configuration.setCompilationDate(COMPILATION_DATE);
        configuration.setProtocolCompilationDate(PROTOCOL_COMPILATION_DATE);
        
        configuration.setVersion(SimulatorConfiguration.getSimulatorVersion());

        List<Interface> interfaces = new ArrayList<Interface>();
        Interface.Builder itf1 = null;

+1 −1
Original line number Diff line number Diff line
@@ -200,7 +200,7 @@ public class SimulatorConfiguration extends Properties {
    /**
     * current simulator version.
     */
    public static final String SIMULATOR_VERSION = "0.7.0.2-SNAPSHOT";
    public static final String SIMULATOR_VERSION = "0.8.0.1-SNAPSHOT";
    
    /**
     * simulator source commit hash.