blob: 3d4f5fd02264caeb88c0624e2961266597f499f5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
/**
* $Id$
*
* Author:: Francis Cianfrocca (gmail: blackhedd)
* Homepage:: http://rubyeventmachine.com
* Date:: 15 Jul 2007
*
* See EventMachine and EventMachine::Connection for documentation and
* usage examples.
*
*
*----------------------------------------------------------------------------
*
* Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
* Gmail: blackhedd
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of either: 1) the GNU General Public License
* as published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version; or 2) Ruby's License.
*
* See the file COPYING for complete licensing information.
*
*---------------------------------------------------------------------------
*
*
*/
package com.rubyeventmachine;
import java.nio.ByteBuffer;
import java.io.IOException;
import java.nio.channels.ClosedChannelException;
public interface EventableChannel {
public void scheduleOutboundData (ByteBuffer bb);
public void scheduleOutboundDatagram (ByteBuffer bb, String recipAddress, int recipPort);
public boolean scheduleClose (boolean afterWriting);
public void startTls();
public long getBinding();
public void readInboundData (ByteBuffer dst) throws IOException;
public void register() throws ClosedChannelException;
/**
* This is called by the reactor after it finishes running.
* The idea is to free network resources.
*/
public void close();
public boolean writeOutboundData() throws IOException;
public long getOutboundDataSize();
public void setCommInactivityTimeout (long seconds);
public Object[] getPeerName();
public Object[] getSockName();
public boolean isWatchOnly();
public boolean isNotifyReadable();
public boolean isNotifyWritable();
}
|