01: /*
02: * Copyright (c) 2000 by Matt Welsh and The Regents of the University of
03: * California. All rights reserved.
04: *
05: * Permission to use, copy, modify, and distribute this software and its
06: * documentation for any purpose, without fee, and without written agreement is
07: * hereby granted, provided that the above copyright notice and the following
08: * two paragraphs appear in all copies of this software.
09: *
10: * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
11: * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
12: * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
13: * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
14: *
15: * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
16: * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
17: * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
18: * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
19: * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
20: *
21: * Author: Matt Welsh <mdw@cs.berkeley.edu>
22: *
23: */
24:
25: package seda.nbio;
26:
27: import java.util.Vector;
28:
29: /**
30: * SelectSetImpl represents an internal implementation of SelectSet.
31: * This allows SelectSet to change its internal implementation based on
32: * the features provided by the underlying O/S.
33: */
34: abstract class SelectSetImpl {
35:
36: abstract void add(SelectItem sel);
37:
38: abstract void add(SelectItem selarr[]);
39:
40: abstract void remove(SelectItem sel);
41:
42: abstract void remove(SelectItem selarr[]);
43:
44: abstract void remove(int index);
45:
46: abstract void update();
47:
48: abstract void update(SelectItem sel);
49:
50: abstract int size();
51:
52: abstract int numActive();
53:
54: abstract SelectItem elementAt(int index);
55:
56: abstract int select(int timeout);
57:
58: abstract SelectItem[] getEvents(short mask);
59:
60: abstract SelectItem[] getEvents();
61:
62: }
|