method_waiting.java

来自「RFID复杂事件处理系统的研究实验」· Java 代码 · 共 73 行

JAVA
73
字号
package test1;

import java.util.LinkedList;

public class Method_Waiting implements Order_Management,EventReceiver{
	private double  k;
	private EventReceiver eventReceiver ;	
	private Buffer buffer=new Buffer(0);//乱序处理缓冲器,假设id的数量是1
	private Buffer buffer0=new Buffer(0);
	
	public Method_Waiting(EventReceiver eventReceiver)
	{
		this.eventReceiver=eventReceiver;
	}
	
	public void setK(double  k) {
		this.k = k;
	}
	
	public synchronized void acceptEvent(P_Event pe)
	{
		if(pe.gettype()!='D'){
			buffer0.insertEvent(pe);
		if(pe.gettimestamp()>buffer.getClock())
		{
			buffer.addEvent(pe);
			LinkedList<P_Event> pl=new LinkedList<P_Event>();
			while(buffer.getQueue().getFirst().gettimestamp()<=buffer.getClock()-k)
			{
				pl.addLast(buffer.getQueue().removeFirst());
			}
			eventReceiver.acceptEvents(pl);
			//System.out.println("buffersize1="+buffer.getQueue().size());
			
		}else{
			if(buffer.getClock()-pe.gettimestamp()<=k)
			{
				buffer.insertEvent(pe);
			}
		}
		//System.out.print(" buffer=");
		//for(int i=0;i<buffer.getQueue().size();i++)
		//	System.out.print(buffer.getQueue().get(i).gettype()+" ");
		//System.out.println();
		}else{
			buffer.insertEvent(pe);
			buffer0.insertEvent(pe);
			eventReceiver.acceptEvents(buffer.getQueue());
			eventReceiver.acceptEventss(buffer0.getQueue());
		}
	}
	
	public synchronized void acceptEvents(LinkedList<P_Event> pel)
	{
	}
	public synchronized void acceptEventss(LinkedList<P_Event> pel)
	{
	}
	
	public void manage(P_Event pe)
	{
		acceptEvent(pe);
	}


	public Buffer getBuffer() {
		return buffer;
	}

	
	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?