/**
* Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.livedata.cogda.msg;
import org.fudgemsg.FudgeMsg;
/**
* An enumeration of all message types to support ease of event loop processing.
*/
public enum CogdaMessageType {
/** {@see ConnectionRequestMessage} */
CONNECTION_REQUEST,
/** {@see ConnectionResponseMessage} */
CONNECTION_RESPONSE,
/** {@see CogdaLiveDataSnapshotRequestMessage} */
SNAPSHOT_REQUEST,
/** {@see CogdaLiveDataSnapshotResponseMessage} */
SNAPSHOT_RESPONSE,
/** {@see CogdaLiveDataSubscriptionRequestMessage} */
SUBSCRIPTION_REQUEST,
/** {@see CogdaLiveDataSubscriptionResponseMessage} */
SUBSCRIPTION_RESPONSE,
/** {@see CogdaLiveDataUnsubscribeMessage} */
UNSUBSCRIBE,
/** {@see CogdaLiveDataUpdateMessage} */
LIVE_DATA_UPDATE;
public static CogdaMessageType getFromMessage(FudgeMsg msg) {
if (msg == null) {
return null;
}
if (!msg.hasField("MESSAGE_TYPE")) {
return null;
}
return CogdaMessageType.valueOf(msg.getString("MESSAGE_TYPE"));
}
}