<commit_before>/**
 * Copyright (C) 2009 - 2010 by OpenGamma Inc.
 *
 * Please see distribution for license.
 */
package com.opengamma.engine.livedata;

import com.opengamma.engine.value.ValueRequirement;

/**
 *  
 */
public interface LiveDataSnapshotListener {
  
  /**
   * 
   * @param requirement Not null
   */
  void subscriptionSucceeded(ValueRequirement requirement);
  
  /**
   * 
   * @param requirement Not null
   * @param msg Not null
   */
  void subscriptionFailed(ValueRequirement requirement, String msg);
  
  /**
   * @param requirement Not null
   */
  void subscriptionStopped(ValueRequirement requirement);
  
  /**
   * @param requirement Not null
   */
  void valueChanged(ValueRequirement requirement);

}
<commit_msg>[LIV-28] Reduce number of threads created by JmsLiveDataClient<commit_after>/**
 * Copyright (C) 2009 - 2010 by OpenGamma Inc.
 *
 * Please see distribution for license.
 */
package com.opengamma.engine.livedata;

import com.opengamma.engine.value.ValueRequirement;

/**
 *  
 */
public interface LiveDataSnapshotListener {
  
  /**
   * 
   * @param requirement Not null
   */
  void subscriptionSucceeded(ValueRequirement requirement);
  
  /**
   * 
   * @param requirement Not null
   * @param msg Not null
   */
  void subscriptionFailed(ValueRequirement requirement, String msg);
  
  /**
   * @param requirement Not null
   */
  void subscriptionStopped(ValueRequirement requirement);
  
  /**
   * Important implementation note to listener implementors:
   * THIS METHOD MUST EXECUTE QUICKLY. The way the Live Data Client works,
   * several market data lines may be handled by the same Live Data Client
   * thread. If the execution of this method is slow, for example
   * because it uses external resources such as files or the network
   * in some way, or executes a complicated algorithm, then 
   * market data updates for OTHER market data lines will not received
   * until this method returns. Thus, if you need to execute a
   * non-trivial operation when you receive new market data, 
   * do it in a new thread.      

   * @param requirement Not null
   */
  void valueChanged(ValueRequirement requirement);

}

{'fraction_non_alphanumeric': 0.08314193844740468, 'fraction_numerical': 0.008268259072117593, 'mean_word_length': 3.2622309197651664, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4043550', 'n_tokens_mistral': 626, 'n_tokens_neox': 589, 'n_words': 213}