1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.jboss.netty.channel;
17
18 import java.net.SocketAddress;
19
20 import org.jboss.netty.util.internal.StringUtil;
21
22
23
24
25
26
27
28
29
30
31 public class DownstreamMessageEvent implements MessageEvent {
32
33 private final Channel channel;
34 private final ChannelFuture future;
35 private final Object message;
36 private final SocketAddress remoteAddress;
37
38
39
40
41 public DownstreamMessageEvent(
42 Channel channel, ChannelFuture future,
43 Object message, SocketAddress remoteAddress) {
44
45 if (channel == null) {
46 throw new NullPointerException("channel");
47 }
48 if (future == null) {
49 throw new NullPointerException("future");
50 }
51 if (message == null) {
52 throw new NullPointerException("message");
53 }
54 this.channel = channel;
55 this.future = future;
56 this.message = message;
57 if (remoteAddress != null) {
58 this.remoteAddress = remoteAddress;
59 } else {
60 this.remoteAddress = channel.getRemoteAddress();
61 }
62 }
63
64 public Channel getChannel() {
65 return channel;
66 }
67
68 public ChannelFuture getFuture() {
69 return future;
70 }
71
72 public Object getMessage() {
73 return message;
74 }
75
76 public SocketAddress getRemoteAddress() {
77 return remoteAddress;
78 }
79
80 @Override
81 public String toString() {
82 if (getRemoteAddress() == getChannel().getRemoteAddress()) {
83 return getChannel().toString() + " WRITE: " +
84 StringUtil.stripControlCharacters(getMessage());
85 } else {
86 return getChannel().toString() + " WRITE: " +
87 StringUtil.stripControlCharacters(getMessage()) + " to " +
88 getRemoteAddress();
89 }
90 }
91 }