ICE 3.4.2
[php5-ice-freebsdport.git] / java / test / Ice / background / Transceiver.java
blob2bcb1b57e6987ee875534533261834e234ce0350
1 // **********************************************************************
2 //
3 // Copyright (c) 2003-2011 ZeroC, Inc. All rights reserved.
4 //
5 // This copy of Ice is licensed to you under the terms described in the
6 // ICE_LICENSE file included in this distribution.
7 //
8 // **********************************************************************
10 package test.Ice.background;
12 final class Transceiver implements IceInternal.Transceiver
14 public java.nio.channels.SelectableChannel
15 fd()
17 return _transceiver.fd();
20 public int
21 initialize()
23 int status = _configuration.initializeSocketStatus();
24 if(status == IceInternal.SocketOperation.Connect || status == IceInternal.SocketOperation.Write)
26 if(!_initialized)
28 status = _transceiver.initialize();
29 if(status != IceInternal.SocketOperation.None)
31 return status;
33 _initialized = true;
35 return IceInternal.SocketOperation.Write;
37 else if(status == IceInternal.SocketOperation.Read)
39 return status;
42 _configuration.checkInitializeException();
43 if(!_initialized)
45 status = _transceiver.initialize();
46 if(status != IceInternal.SocketOperation.None)
48 return status;
50 _initialized = true;
52 return IceInternal.SocketOperation.None;
55 public void
56 close()
58 _transceiver.close();
61 public boolean
62 write(IceInternal.Buffer buf)
64 if(!_initialized)
66 throw new Ice.SocketException();
69 if(!_configuration.writeReady())
71 return false;
73 _configuration.checkWriteException();
74 return _transceiver.write(buf);
77 public boolean
78 read(IceInternal.Buffer buf, Ice.BooleanHolder moreData)
80 if(!_initialized)
82 throw new Ice.SocketException();
85 if(!moreData.value)
87 if(!_configuration.readReady())
89 return false;
92 _configuration.checkReadException();
93 return _transceiver.read(buf, moreData);
96 public String
97 type()
99 return "test-" + _transceiver.type();
102 public String
103 toString()
105 return _transceiver.toString();
108 public Ice.ConnectionInfo
109 getInfo()
111 return _transceiver.getInfo();
114 public void
115 checkSendSize(IceInternal.Buffer buf, int messageSizeMax)
117 _transceiver.checkSendSize(buf, messageSizeMax);
121 // Only for use by Connector, Acceptor
123 Transceiver(Configuration configuration, IceInternal.Transceiver transceiver)
125 _transceiver = transceiver;
126 _configuration = configuration;
129 protected synchronized void
130 finalize()
131 throws Throwable
133 super.finalize();
136 final private IceInternal.Transceiver _transceiver;
137 final private Configuration _configuration;
138 private boolean _initialized = false;