Class: Baykit::BayServer::Docker::BuiltIn::BuiltInHarborDocker
- Inherits:
-
Baykit::BayServer::Docker::Base::DockerBase
- Object
- Baykit::BayServer::Docker::Base::DockerBase
- Baykit::BayServer::Docker::BuiltIn::BuiltInHarborDocker
- Includes:
- Baykit::BayServer, Bcf, Constants, Harbor, Util
- Defined in:
- lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb
Constant Summary collapse
- DEFAULT_MAX_SHIPS =
256- DEFAULT_SHIP_AGENTS =
0- DEFAULT_TRAIN_RUNNERS =
8- DEFAULT_TAXI_RUNNERS =
8- DEFAULT_WAIT_TIMEOUT_SEC =
120- DEFAULT_KEEP_TIMEOUT_SEC =
20- DEFAULT_TOUR_BUFFER_SIZE =
1M
1024 * 1024
- DEFAULT_TRACE_HEADER =
false- DEFAULT_CHARSET =
"UTF-8"- DEFAULT_CONTROL_PORT =
-1- DEFAULT_MULTI_CORE =
true- DEFAULT_GZIP_COMP =
false- DEFAULT_FILE_SEND_METHOD =
FILE_SEND_METHOD_TAXI- DEFAULT_PID_FILE =
"bayserver.pid"
Constants included from Harbor
Harbor::FILE_SEND_METHOD_SELECT, Harbor::FILE_SEND_METHOD_SPIN, Harbor::FILE_SEND_METHOD_TAXI
Instance Attribute Summary collapse
-
#charset ⇒ Object
readonly
Default charset.
-
#control_port ⇒ Object
readonly
Port number of signal agent.
-
#file_send_method ⇒ Object
readonly
Method to send file.
-
#grand_agents ⇒ Object
readonly
Number of grand agents.
-
#groups ⇒ Object
readonly
Auth groups.
-
#gzip_comp ⇒ Object
readonly
Gzip compression flag.
-
#keep_timeout_sec ⇒ Object
readonly
Keep-Alive timeout in seconds.
-
#locale ⇒ Object
readonly
Default locale.
-
#max_ships ⇒ Object
readonly
Max count of watercraft.
-
#multi_core ⇒ Object
readonly
Multi core flag.
-
#pid_file ⇒ Object
readonly
PID file name.
-
#redirect_file ⇒ Object
readonly
File name to redirect stdout/stderr.
-
#socket_timeout_sec ⇒ Object
readonly
Socket timeout in seconds.
-
#taxi_runners ⇒ Object
readonly
Number of taxi runners.
-
#tour_buffer_size ⇒ Object
readonly
Internal buffer size of Tour.
-
#trace_header ⇒ Object
readonly
Trace req/res header flag.
-
#train_runners ⇒ Object
readonly
Number of train runners.
-
#trouble ⇒ Object
readonly
Trouble docker.
Attributes inherited from Baykit::BayServer::Docker::Base::DockerBase
Instance Method Summary collapse
-
#init(bcf, parent) ⇒ Object
Implements Docker.
-
#init_docker(dkr) ⇒ Object
Implements DockerBase.
- #init_key_val(kv) ⇒ Object
-
#initialize ⇒ BuiltInHarborDocker
constructor
A new instance of BuiltInHarborDocker.
- #multi_core? ⇒ Boolean
- #trace_header? ⇒ Boolean
Methods inherited from Baykit::BayServer::Docker::Base::DockerBase
Constructor Details
#initialize ⇒ BuiltInHarborDocker
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb', line 94 def initialize @grand_agents = DEFAULT_SHIP_AGENTS @train_runners = DEFAULT_TRAIN_RUNNERS @taxi_runners = DEFAULT_TAXI_RUNNERS @max_ships = DEFAULT_MAX_SHIPS @groups = Groups.new @socket_timeout_sec = DEFAULT_WAIT_TIMEOUT_SEC @keep_timeout_sec = DEFAULT_KEEP_TIMEOUT_SEC @tour_buffer_size = DEFAULT_TOUR_BUFFER_SIZE @trace_header = DEFAULT_TRACE_HEADER @charset = DEFAULT_CHARSET @control_port = DEFAULT_CONTROL_PORT @multi_core = DEFAULT_MULTI_CORE @gzip_comp = DEFAULT_GZIP_COMP @file_send_method = DEFAULT_FILE_SEND_METHOD @pid_file = DEFAULT_PID_FILE end |
Instance Attribute Details
#charset ⇒ Object (readonly)
Default charset
40 41 42 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb', line 40 def charset @charset end |
#control_port ⇒ Object (readonly)
Port number of signal agent
82 83 84 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb', line 82 def control_port @control_port end |
#file_send_method ⇒ Object (readonly)
Method to send file
88 89 90 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb', line 88 def file_send_method @file_send_method end |
#grand_agents ⇒ Object (readonly)
Number of grand agents
46 47 48 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb', line 46 def grand_agents @grand_agents end |
#groups ⇒ Object (readonly)
Auth groups
73 74 75 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb', line 73 def groups @groups end |
#gzip_comp ⇒ Object (readonly)
Gzip compression flag
79 80 81 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb', line 79 def gzip_comp @gzip_comp end |
#keep_timeout_sec ⇒ Object (readonly)
Keep-Alive timeout in seconds
61 62 63 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb', line 61 def keep_timeout_sec @keep_timeout_sec end |
#locale ⇒ Object (readonly)
Default locale
43 44 45 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb', line 43 def locale @locale end |
#max_ships ⇒ Object (readonly)
Max count of watercraft
55 56 57 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb', line 55 def max_ships @max_ships end |
#multi_core ⇒ Object (readonly)
Multi core flag
85 86 87 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb', line 85 def multi_core @multi_core end |
#pid_file ⇒ Object (readonly)
PID file name
91 92 93 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb', line 91 def pid_file @pid_file end |
#redirect_file ⇒ Object (readonly)
File name to redirect stdout/stderr
76 77 78 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb', line 76 def redirect_file @redirect_file end |
#socket_timeout_sec ⇒ Object (readonly)
Socket timeout in seconds
58 59 60 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb', line 58 def socket_timeout_sec @socket_timeout_sec end |
#taxi_runners ⇒ Object (readonly)
Number of taxi runners
52 53 54 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb', line 52 def taxi_runners @taxi_runners end |
#tour_buffer_size ⇒ Object (readonly)
Internal buffer size of Tour
64 65 66 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb', line 64 def tour_buffer_size @tour_buffer_size end |
#trace_header ⇒ Object (readonly)
Trace req/res header flag
67 68 69 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb', line 67 def trace_header @trace_header end |
#train_runners ⇒ Object (readonly)
Number of train runners
49 50 51 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb', line 49 def train_runners @train_runners end |
#trouble ⇒ Object (readonly)
Trouble docker
70 71 72 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb', line 70 def trouble @trouble end |
Instance Method Details
#init(bcf, parent) ⇒ Object
Implements Docker
115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb', line 115 def init(bcf, parent) super if @grand_agents <= 0 @grand_agents = SysUtil.processor_count() end if @train_runners <= 0 @train_runners = 1 end if @max_ships < DEFAULT_MAX_SHIPS @max_ships = DEFAULT_MAX_SHIPS BayLog.warn(BayMessage.get(:CFG_MAX_SHIPS_IS_TO_SMALL, @max_ships)) end if @file_send_method == FILE_SEND_METHOD_SELECT and !SysUtil.support_select_file() BayLog.warn(BayMessage.get(:CFG_FILE_SEND_METHOD_SELECT_NOT_SUPPORTED)) @file_send_method = FILE_SEND_METHOD_TAXI end if @file_send_method == FILE_SEND_METHOD_SPIN and !SysUtil.support_nonblock_file_read() BayLog.warn(BayMessage.get(:CFG_FILE_SEND_METHOD_SPIN_NOT_SUPPORTED)) @file_send_method = FILE_SEND_METHOD_TAXI end end |
#init_docker(dkr) ⇒ Object
Implements DockerBase
148 149 150 151 152 153 154 155 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb', line 148 def init_docker(dkr) if dkr.instance_of?(Trouble) @trouble = dkr else return super end return true end |
#init_key_val(kv) ⇒ Object
157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb', line 157 def init_key_val(kv) case kv.key.downcase when "loglevel" BayLog.set_log_level(kv.value) when "charset" @charset = kv.value when "locale" @locale = kv.value when "groups" begin fname = BayServer.parse_path(kv.value) @groups.init(fname) rescue IOError => e raise ConfigException.new(kv.file_name, kv.line_no, BayMessage.get(:CFG_FILE_NOT_FOUND, kv.value)); end when "trains" @train_runners = Integer(kv.value) when "taxis", "taxies" @taxi_runners = Integer(kv.value) when "grandagents" @grand_agents = Integer(kv.value) when "maxships" @max_ships = Integer(kv.value) when "timeout" @socket_timeout_sec = Integer(kv.value) when "keeptimeout" @keep_timeout_sec = Integer(kv.value) when "tourbuffersize" @tour_buffer_size = StringUtil.parse_size(kv.value) when "traceheader" @trace_header = StringUtil.parse_bool(kv.value) when "redirectfile" @redirect_file = kv.value when "controlport" @control_port = kv.value.to_i when "multicore" @multi_core = StringUtil.parse_bool(kv.value) when "gzipcomp" @gzip_comp = StringUtil.parse_bool(kv.value) when "sendfilemethod" case kv.value.downcase() when "select" @file_send_method = FILE_SEND_METHOD_SELECT when "spin" @file_send_method = FILE_SEND_METHOD_SPIN when "taxi" @file_send_method = FILE_SEND_METHOD_TAXI else raise ConfigException.new(kv.file_name, kv.line_no, BayMessage.get(:CFG_INVALID_PARAMETER_VALUE, kv.value)) end when "pidfile" @pid_file = kv.value else return false end true end |
#multi_core? ⇒ Boolean
219 220 221 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb', line 219 def multi_core? @multi_core end |
#trace_header? ⇒ Boolean
215 216 217 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb', line 215 def trace_header? @trace_header end |