01: /*
02: * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
03: */
04: package com.tc.async.api;
05:
06: import com.tc.stats.Monitorable;
07:
08: import java.util.Collection;
09:
10: /**
11: * This is used buy the internals to manage the process of processing EventContexts in the maner that makes sense for
12: * each one. Individual Stages SHOULD NOT HAVE TO EITHER USE OR IMPLEMENT THIS INTERFACE
13: *
14: * @author steve
15: */
16: public interface Source extends Monitorable {
17:
18: public Collection getAll() throws InterruptedException;
19:
20: public EventContext get() throws InterruptedException;
21:
22: public EventContext poll(long period) throws InterruptedException;
23:
24: public int size();
25:
26: }
|