Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.vmlens.trace.agent.bootstrap.event.StreamRepository Maven / Gradle / Ivy
package com.vmlens.trace.agent.bootstrap.event;
import java.io.BufferedOutputStream;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Iterator;
import gnu.trove.list.linked.TLinkedList;
public class StreamRepository {
public final StreamWrapperWithoutSlidingWindow threadName;
public final StreamWrapperWithoutSlidingWindow description;
public final StreamWrapperWithoutSlidingWindow stackTrace;
public final StreamWrapperWithoutSlidingWindow agentLog;
public final StreamWrapperWithoutSlidingWindow className;
public final StreamWrapperWithSlidingWindow firstWrite;
public final StreamWrapperWithSlidingWindow method;
public final StreamWrapperWithSlidingWindow syncActions;
public final StreamWrapperWithSlidingWindow field;
public final StreamWrapperWithSlidingWindow monitor;
public final StreamWrapperWithSlidingWindow directMemory;
public final StreamWrapperWithSlidingWindow scheduler;
public final StreamWrapperWithSlidingWindow transfer;
public final StreamWrapperWithSlidingWindow state;
public final StreamWrapperWithSlidingWindow stateInitial;
private final TLinkedList streamList = new TLinkedList();
public StreamRepository (String eventDir, int writerNumber)
{
this .threadName = new StreamWrapperWithoutSlidingWindow(eventDir , "threadName" , writerNumber ,streamList);
this .description = new StreamWrapperWithoutSlidingWindow(eventDir , "description" , writerNumber,streamList);
this .stackTrace = new StreamWrapperWithoutSlidingWindow(eventDir , "stackTrace" , writerNumber,streamList);
this .agentLog = new StreamWrapperWithoutSlidingWindow(eventDir , "agentLog" , writerNumber,streamList);
this .className = new StreamWrapperWithoutSlidingWindow(eventDir , "className" , writerNumber,streamList);
this .firstWrite = new StreamWrapperWithSlidingWindow(eventDir , "firstWrite" , writerNumber,streamList);
this .method = new StreamWrapperWithSlidingWindow(eventDir , "method" , writerNumber , streamList);
this .syncActions = new StreamWrapperWithSlidingWindow(eventDir , "syncActions" , writerNumber ,streamList);
this .field = new StreamWrapperWithSlidingWindow(eventDir , "field" , writerNumber,streamList);
this .monitor = new StreamWrapperWithSlidingWindow(eventDir , "monitor" , writerNumber,streamList);
this .directMemory = new StreamWrapperWithSlidingWindow(eventDir , "directMemory" , writerNumber,streamList);
this .scheduler = new StreamWrapperWithSlidingWindow(eventDir , "scheduler" , writerNumber,streamList);
this .transfer = new StreamWrapperWithSlidingWindow(eventDir , "transfer" , writerNumber,streamList);
this .state = new StreamWrapperWithSlidingWindow(eventDir , "state" , writerNumber,streamList);
this .stateInitial = new StreamWrapperWithSlidingWindow(eventDir , "stateInitial" , writerNumber,streamList);
}
public void flush () throws Exception
{
Iterator iterator = streamList.iterator();
while (iterator.hasNext())
{
iterator.next().flush();
}
}
public void close () throws Exception
{
Iterator iterator = streamList.iterator();
while (iterator.hasNext())
{
iterator.next().close();
}
}
}