// Path: reference/src/main/java/me/doubledutch/stroom/client/StreamConnection.java
// public interface StreamConnection{
// 	public final static int LINEAR=0;
// 	public final static int SYNC=1;
// 	public final static int FLUSH=2;
// 	public final static int NONE=3;
// 
// 	public List<String> get(long index,long endIndex) throws IOException;
// 	public String get(long index) throws IOException;
// 	public String getLast() throws IOException;
// 	public long getCount() throws IOException;
// 	
// 	public long append(JSONObject data) throws IOException,JSONException;
// 	public long append(String data) throws IOException,JSONException;
// 	public List<Long> append(List<String> data) throws IOException,JSONException;
// 	
// 	public long append(JSONObject data,int hint) throws IOException,JSONException;
// 	public long append(String data,int hint) throws IOException,JSONException;
// 	public List<Long> append(List<String> data,int hint) throws IOException,JSONException;
// 
// 	public void truncate(long index) throws IOException;
// }


import org.apache.log4j.Logger;
import java.util.*;
import org.json.*;
import me.doubledutch.stroom.streams.*;
import me.doubledutch.stroom.filters.*;
import me.doubledutch.stroom.aggregates.*;
import me.doubledutch.stroom.client.StreamConnection;
package me.doubledutch.stroom;



public class ServiceManager implements Runnable{
	private final Logger log = Logger.getLogger("ServiceManager");
	private static ServiceManager app;
	private StreamHandler streamHandler;
	private Map<String,Service> serviceMap=new HashMap<String,Service>();
	private Map<String,JSONObject> agg=new HashMap<String,JSONObject>();

	private AggregateManager aggregateManager;
	private KeyValueManager keyValueManager;

// Path: reference/src/main/java/me/doubledutch/stroom/client/StreamConnection.java
// public interface StreamConnection{
// 	public final static int LINEAR=0;
// 	public final static int SYNC=1;
// 	public final static int FLUSH=2;
// 	public final static int NONE=3;
// 
// 	public List<String> get(long index,long endIndex) throws IOException;
// 	public String get(long index) throws IOException;
// 	public String getLast() throws IOException;
// 	public long getCount() throws IOException;
// 	
// 	public long append(JSONObject data) throws IOException,JSONException;
// 	public long append(String data) throws IOException,JSONException;
// 	public List<Long> append(List<String> data) throws IOException,JSONException;
// 	
// 	public long append(JSONObject data,int hint) throws IOException,JSONException;
// 	public long append(String data,int hint) throws IOException,JSONException;
// 	public List<Long> append(List<String> data,int hint) throws IOException,JSONException;
// 
// 	public void truncate(long index) throws IOException;
// }


// Path: reference/src/main/java/me/doubledutch/stroom/ServiceManager.java
import org.apache.log4j.Logger;
import java.util.*;
import org.json.*;
import me.doubledutch.stroom.streams.*;
import me.doubledutch.stroom.filters.*;
import me.doubledutch.stroom.aggregates.*;
import me.doubledutch.stroom.client.StreamConnection;

package me.doubledutch.stroom;



public class ServiceManager implements Runnable{
	private final Logger log = Logger.getLogger("ServiceManager");
	private static ServiceManager app;
	private StreamHandler streamHandler;
	private Map<String,Service> serviceMap=new HashMap<String,Service>();
	private Map<String,JSONObject> agg=new HashMap<String,JSONObject>();

	private AggregateManager aggregateManager;
	private KeyValueManager keyValueManager;

	private StreamConnection serviceStream;