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.util.Map;
19 import java.util.Map.Entry;
20
21 import org.jboss.netty.buffer.ChannelBufferFactory;
22 import org.jboss.netty.buffer.HeapChannelBufferFactory;
23 import org.jboss.netty.channel.socket.SocketChannelConfig;
24 import org.jboss.netty.util.internal.ConversionUtil;
25
26
27
28
29
30
31
32
33
34
35 public class DefaultChannelConfig implements ChannelConfig {
36
37 private volatile ChannelBufferFactory bufferFactory = HeapChannelBufferFactory.getInstance();
38 private volatile int connectTimeoutMillis = 10000;
39
40
41
42
43 public DefaultChannelConfig() {
44 super();
45 }
46
47 public void setOptions(Map<String, Object> options) {
48 for (Entry<String, Object> e: options.entrySet()) {
49 setOption(e.getKey(), e.getValue());
50 }
51 }
52
53 public boolean setOption(String key, Object value) {
54 if (key.equals("pipelineFactory")) {
55 setPipelineFactory((ChannelPipelineFactory) value);
56 } else if (key.equals("connectTimeoutMillis")) {
57 setConnectTimeoutMillis(ConversionUtil.toInt(value));
58 } else if (key.equals("bufferFactory")) {
59 setBufferFactory((ChannelBufferFactory) value);
60 } else {
61 return false;
62 }
63 return true;
64 }
65
66 public int getConnectTimeoutMillis() {
67 return connectTimeoutMillis;
68 }
69
70 public ChannelBufferFactory getBufferFactory() {
71 return bufferFactory;
72 }
73
74 public void setBufferFactory(ChannelBufferFactory bufferFactory) {
75 if (bufferFactory == null) {
76 throw new NullPointerException("bufferFactory");
77 }
78 this.bufferFactory = bufferFactory;
79 }
80
81 public ChannelPipelineFactory getPipelineFactory() {
82 return null;
83 }
84
85 public void setConnectTimeoutMillis(int connectTimeoutMillis) {
86 if (connectTimeoutMillis < 0) {
87 throw new IllegalArgumentException("connectTimeoutMillis: " + connectTimeoutMillis);
88 }
89 this.connectTimeoutMillis = connectTimeoutMillis;
90 }
91
92 public void setPipelineFactory(ChannelPipelineFactory pipelineFactory) {
93
94 }
95 }