annotate src/alice/daemon/Connection.java @ 301:f117b0108dde

remove import
author sugi
date Mon, 04 Nov 2013 13:10:50 +0900
parents 6e18e08281e6
children 174ea66bf28a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12
c4d6ff56b9bf unite Command and Reply
one
parents:
diff changeset
1 package alice.daemon;
c4d6ff56b9bf unite Command and Reply
one
parents:
diff changeset
2
249
2a8bcf09bd06 Refactor
sugi
parents: 39
diff changeset
3 import java.io.IOException;
12
c4d6ff56b9bf unite Command and Reply
one
parents:
diff changeset
4 import java.net.Socket;
249
2a8bcf09bd06 Refactor
sugi
parents: 39
diff changeset
5 import java.nio.ByteBuffer;
13
30f97d776a3e implements Alice daemon
one
parents: 12
diff changeset
6 import java.util.concurrent.LinkedBlockingQueue;
30f97d776a3e implements Alice daemon
one
parents: 12
diff changeset
7
249
2a8bcf09bd06 Refactor
sugi
parents: 39
diff changeset
8 import alice.codesegment.SingletonMessage;
13
30f97d776a3e implements Alice daemon
one
parents: 12
diff changeset
9 import alice.datasegment.Command;
12
c4d6ff56b9bf unite Command and Reply
one
parents:
diff changeset
10
c4d6ff56b9bf unite Command and Reply
one
parents:
diff changeset
11 public class Connection {
c4d6ff56b9bf unite Command and Reply
one
parents:
diff changeset
12
13
30f97d776a3e implements Alice daemon
one
parents: 12
diff changeset
13 public Socket socket;
30f97d776a3e implements Alice daemon
one
parents: 12
diff changeset
14 public LinkedBlockingQueue<Command> sendQueue = new LinkedBlockingQueue<Command>();
299
48de3510fb00 Scheduler has bug
sugi
parents: 292
diff changeset
15
12
c4d6ff56b9bf unite Command and Reply
one
parents:
diff changeset
16 public Connection(Socket socket) {
13
30f97d776a3e implements Alice daemon
one
parents: 12
diff changeset
17 this.socket = socket;
12
c4d6ff56b9bf unite Command and Reply
one
parents:
diff changeset
18 }
14
e3f1b21718b0 implements RemoteDataSegment
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 13
diff changeset
19
23
54bf607118ae change method to create RemoteDSM
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
20 public Connection() { }
54bf607118ae change method to create RemoteDSM
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
21
14
e3f1b21718b0 implements RemoteDataSegment
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 13
diff changeset
22 public void sendCommand(Command cmd) {
e3f1b21718b0 implements RemoteDataSegment
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 13
diff changeset
23 try {
e3f1b21718b0 implements RemoteDataSegment
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 13
diff changeset
24 sendQueue.put(cmd);
e3f1b21718b0 implements RemoteDataSegment
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 13
diff changeset
25 } catch (InterruptedException e) {
e3f1b21718b0 implements RemoteDataSegment
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 13
diff changeset
26 e.printStackTrace();
e3f1b21718b0 implements RemoteDataSegment
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 13
diff changeset
27 }
e3f1b21718b0 implements RemoteDataSegment
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 13
diff changeset
28 }
39
3155337e754e add logger
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
29
3155337e754e add logger
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
30 public String getInfoString() {
3155337e754e add logger
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
31 return socket.getInetAddress().getHostName()
3155337e754e add logger
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
32 + ":" + socket.getPort();
3155337e754e add logger
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
33 }
12
c4d6ff56b9bf unite Command and Reply
one
parents:
diff changeset
34
249
2a8bcf09bd06 Refactor
sugi
parents: 39
diff changeset
35 public synchronized void write(Command cmd) {
2a8bcf09bd06 Refactor
sugi
parents: 39
diff changeset
36 CommandMessage cmdMsg = cmd.convert();
2a8bcf09bd06 Refactor
sugi
parents: 39
diff changeset
37 ByteBuffer buffer;
2a8bcf09bd06 Refactor
sugi
parents: 39
diff changeset
38 try {
2a8bcf09bd06 Refactor
sugi
parents: 39
diff changeset
39 buffer = ByteBuffer.wrap(SingletonMessage.getInstance().write(cmdMsg));
2a8bcf09bd06 Refactor
sugi
parents: 39
diff changeset
40 while (buffer.hasRemaining()) {
2a8bcf09bd06 Refactor
sugi
parents: 39
diff changeset
41 socket.getChannel().write(buffer);
2a8bcf09bd06 Refactor
sugi
parents: 39
diff changeset
42 }
2a8bcf09bd06 Refactor
sugi
parents: 39
diff changeset
43 } catch (IOException e) {
292
8e36904676af Fix nice catch
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 270
diff changeset
44 e.printStackTrace();
249
2a8bcf09bd06 Refactor
sugi
parents: 39
diff changeset
45 }
2a8bcf09bd06 Refactor
sugi
parents: 39
diff changeset
46 }
12
c4d6ff56b9bf unite Command and Reply
one
parents:
diff changeset
47 }