bayserver-core 3.0.2 → 3.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/baykit/bayserver/agent/command_receiver.rb +2 -0
- data/lib/baykit/bayserver/agent/grand_agent.rb +145 -133
- data/lib/baykit/bayserver/agent/letters/accepted_letter.rb +17 -0
- data/lib/baykit/bayserver/agent/letters/closed_letter.rb +14 -0
- data/lib/baykit/bayserver/agent/letters/connected_letter.rb +14 -0
- data/lib/baykit/bayserver/agent/letters/error_letter.rb +16 -0
- data/lib/baykit/bayserver/agent/letters/letter.rb +19 -0
- data/lib/baykit/bayserver/agent/letters/package.rb +9 -0
- data/lib/baykit/bayserver/agent/letters/read_letter.rb +20 -0
- data/lib/baykit/bayserver/agent/letters/wrote_letter.rb +17 -0
- data/lib/baykit/bayserver/agent/monitor/grand_agent_monitor.rb +49 -49
- data/lib/baykit/bayserver/agent/multiplexer/job_multiplexer.rb +47 -32
- data/lib/baykit/bayserver/agent/multiplexer/job_multiplexer_base.rb +5 -0
- data/lib/baykit/bayserver/agent/multiplexer/multiplexer_base.rb +12 -28
- data/lib/baykit/bayserver/agent/multiplexer/plain_transporter.rb +20 -5
- data/lib/baykit/bayserver/agent/multiplexer/spider_multiplexer.rb +125 -87
- data/lib/baykit/bayserver/agent/multiplexer/spin_multiplexer.rb +24 -19
- data/lib/baykit/bayserver/agent/multiplexer/taxi_multiplexer.rb +21 -15
- data/lib/baykit/bayserver/bay_log.rb +20 -16
- data/lib/baykit/bayserver/bayserver.rb +8 -15
- data/lib/baykit/bayserver/common/cities.rb +1 -1
- data/lib/baykit/bayserver/common/inbound_ship.rb +5 -45
- data/lib/baykit/bayserver/common/inbound_ship_store.rb +0 -1
- data/lib/baykit/bayserver/common/multiplexer.rb +5 -1
- data/lib/baykit/bayserver/{agent/multiplexer → common}/rudder_state.rb +42 -11
- data/lib/baykit/bayserver/common/rudder_state_store.rb +63 -0
- data/lib/baykit/bayserver/{agent/multiplexer → common}/transporter.rb +2 -4
- data/lib/baykit/bayserver/common/warp_ship.rb +12 -7
- data/lib/baykit/bayserver/{agent/multiplexer → common}/write_unit.rb +2 -4
- data/lib/baykit/bayserver/docker/base/inbound_data_listener.rb +0 -1
- data/lib/baykit/bayserver/docker/base/port_base.rb +5 -5
- data/lib/baykit/bayserver/docker/base/warp_base.rb +7 -4
- data/lib/baykit/bayserver/docker/built_in/built_in_city_docker.rb +1 -1
- data/lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb +25 -2
- data/lib/baykit/bayserver/docker/built_in/built_in_log_docker.rb +43 -35
- data/lib/baykit/bayserver/docker/harbor.rb +14 -0
- data/lib/baykit/bayserver/docker/send_file/file_content.rb +66 -0
- data/lib/baykit/bayserver/docker/send_file/file_content_handler.rb +113 -29
- data/lib/baykit/bayserver/docker/send_file/file_store.rb +117 -0
- data/lib/baykit/bayserver/docker/send_file/send_file_docker.rb +13 -5
- data/lib/baykit/bayserver/docker/send_file/send_file_ship.rb +11 -2
- data/lib/baykit/bayserver/docker/send_file/wait_file_ship.rb +92 -0
- data/lib/baykit/bayserver/mem_usage.rb +2 -0
- data/lib/baykit/bayserver/protocol/packet.rb +2 -1
- data/lib/baykit/bayserver/protocol/packet_part_accessor.rb +5 -5
- data/lib/baykit/bayserver/protocol/protocol_exception.rb +7 -1
- data/lib/baykit/bayserver/rudders/io_rudder.rb +2 -2
- data/lib/baykit/bayserver/rudders/rudder.rb +4 -0
- data/lib/baykit/bayserver/rudders/rudder_base.rb +21 -0
- data/lib/baykit/bayserver/tours/req_content_handler.rb +13 -13
- data/lib/baykit/bayserver/tours/tour.rb +18 -13
- data/lib/baykit/bayserver/tours/tour_req.rb +13 -15
- data/lib/baykit/bayserver/tours/tour_res.rb +42 -19
- data/lib/baykit/bayserver/util/cgi_util.rb +7 -2
- data/lib/baykit/bayserver/util/headers.rb +2 -2
- data/lib/baykit/bayserver/util/http_status.rb +7 -0
- data/lib/baykit/bayserver/util/http_util.rb +16 -0
- data/lib/baykit/bayserver/util/nio_selector.rb +103 -0
- data/lib/baykit/bayserver/util/rb_selector.rb +55 -0
- data/lib/baykit/bayserver/util/selector.rb +43 -80
- data/lib/baykit/bayserver/util/simple_buffer.rb +1 -1
- data/lib/baykit/bayserver/version.rb +1 -1
- metadata +24 -21
- data/lib/baykit/bayserver/agent/accept_handler.rb +0 -71
- data/lib/baykit/bayserver/agent/channel_listener.rb +0 -35
- data/lib/baykit/bayserver/agent/letter.rb +0 -30
- data/lib/baykit/bayserver/agent/transporter/data_listener.rb +0 -38
- data/lib/baykit/bayserver/agent/transporter/package.rb +0 -0
- data/lib/baykit/bayserver/agent/transporter/spin_read_transporter.rb +0 -111
- data/lib/baykit/bayserver/agent/transporter/spin_write_transporter.rb +0 -125
- data/lib/baykit/bayserver/agent/transporter/transporter.rb +0 -332
- data/lib/baykit/bayserver/docker/built_in/log_boat.rb +0 -71
- data/lib/baykit/bayserver/tours/send_file_yacht.rb +0 -97
- data/lib/baykit/bayserver/watercraft/boat.rb +0 -43
- data/lib/baykit/bayserver/watercraft/yacht.rb +0 -42
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
require 'baykit/bayserver/agent/next_socket_action'
|
|
2
|
-
require 'baykit/bayserver/watercraft/yacht'
|
|
3
|
-
require 'baykit/bayserver/util/string_util'
|
|
4
|
-
require 'baykit/bayserver/util/reusable'
|
|
5
|
-
|
|
6
|
-
module Baykit
|
|
7
|
-
module BayServer
|
|
8
|
-
module Tours
|
|
9
|
-
class SendFileYacht < Baykit::BayServer::WaterCraft::Yacht
|
|
10
|
-
|
|
11
|
-
include Baykit::BayServer::Agent
|
|
12
|
-
include Baykit::BayServer::Util
|
|
13
|
-
|
|
14
|
-
attr :tour
|
|
15
|
-
attr :tour_id
|
|
16
|
-
|
|
17
|
-
attr :file_name
|
|
18
|
-
attr :file_len
|
|
19
|
-
attr :file_wrote_len
|
|
20
|
-
|
|
21
|
-
def initialize
|
|
22
|
-
super
|
|
23
|
-
reset()
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def to_s()
|
|
27
|
-
return "filyt##{@yacht_id}/#{@object_id} tour=#{@tour} id=#{@tour_id}";
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
######################################################
|
|
31
|
-
# implements Reusable
|
|
32
|
-
######################################################
|
|
33
|
-
|
|
34
|
-
def reset()
|
|
35
|
-
@file_wrote_len = 0
|
|
36
|
-
@file_len = 0
|
|
37
|
-
@tour = nil
|
|
38
|
-
@tour_id = 0
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
######################################################
|
|
42
|
-
# implements Yacht
|
|
43
|
-
######################################################
|
|
44
|
-
|
|
45
|
-
def notify_read(buf, adr)
|
|
46
|
-
@file_wrote_len += buf.length
|
|
47
|
-
BayLog.trace("%s read file %d bytes: total=%d/%d", self, buf.length, @file_wrote_len, @file_len)
|
|
48
|
-
available = @tour.res.send_content(@tour_id, buf, 0, buf.length)
|
|
49
|
-
|
|
50
|
-
if available
|
|
51
|
-
return NextSocketAction::CONTINUE;
|
|
52
|
-
else
|
|
53
|
-
return NextSocketAction::SUSPEND;
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
def notify_eof()
|
|
59
|
-
BayLog.trace("%s EOF(^o^) %s", self, @file_name)
|
|
60
|
-
begin
|
|
61
|
-
@tour.res.end_content(@tour_id)
|
|
62
|
-
rescue IOError => e
|
|
63
|
-
BayLog.debug_e(e)
|
|
64
|
-
end
|
|
65
|
-
return NextSocketAction::CLOSE
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
def notify_close()
|
|
69
|
-
BayLog.trace("File closed: %s", @file_name)
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
def check_timeout(duration)
|
|
73
|
-
BayLog.trace("Check timeout: %s", @file_name)
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
######################################################
|
|
77
|
-
# Custom methods
|
|
78
|
-
######################################################
|
|
79
|
-
|
|
80
|
-
def init(tur, file_name, tp)
|
|
81
|
-
init_yacht()
|
|
82
|
-
@tour = tur
|
|
83
|
-
@tour_id = tur.id()
|
|
84
|
-
@file_name = file_name
|
|
85
|
-
@file_len = File.size(file_name)
|
|
86
|
-
#file = File.open(file_name, "rb")
|
|
87
|
-
tur.res.set_consume_listener do |len, resume|
|
|
88
|
-
if resume
|
|
89
|
-
tp.open_valve();
|
|
90
|
-
end
|
|
91
|
-
end
|
|
92
|
-
end
|
|
93
|
-
end
|
|
94
|
-
end
|
|
95
|
-
end
|
|
96
|
-
end
|
|
97
|
-
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
require 'baykit/bayserver/agent/transporter/transporter'
|
|
2
|
-
require 'baykit/bayserver/agent/transporter/data_listener'
|
|
3
|
-
require 'baykit/bayserver/util/reusable'
|
|
4
|
-
require 'baykit/bayserver/util/counter'
|
|
5
|
-
|
|
6
|
-
module Baykit
|
|
7
|
-
module BayServer
|
|
8
|
-
module WaterCraft
|
|
9
|
-
class Boat
|
|
10
|
-
include Baykit::BayServer::Agent::Transporter::DataListener # implements
|
|
11
|
-
include Baykit::BayServer::Util::Reusable # implements
|
|
12
|
-
|
|
13
|
-
include Baykit::BayServer::Util
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
# class variables
|
|
17
|
-
class << self
|
|
18
|
-
attr :oid_counter
|
|
19
|
-
attr :boat_id_counter
|
|
20
|
-
end
|
|
21
|
-
@oid_counter = Counter.new
|
|
22
|
-
@boat_id_counter = Counter.new
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
BOAT_ID_NOCHECK = -1
|
|
26
|
-
INVALID_BOAT_ID = 0
|
|
27
|
-
|
|
28
|
-
def initialize()
|
|
29
|
-
@object_id = Yacht.oid_counter.next()
|
|
30
|
-
@boat_id = INVALID_BOAT_ID
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def init_boat()
|
|
34
|
-
@boat_id = Boat.boat_id_counter.next()
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
def check_timeout(duration)
|
|
38
|
-
return false
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
end
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
require 'baykit/bayserver/agent/transporter/transporter'
|
|
2
|
-
require 'baykit/bayserver/agent/transporter/data_listener'
|
|
3
|
-
require 'baykit/bayserver/util/reusable'
|
|
4
|
-
require 'baykit/bayserver/util/counter'
|
|
5
|
-
|
|
6
|
-
module Baykit
|
|
7
|
-
module BayServer
|
|
8
|
-
module WaterCraft
|
|
9
|
-
class Yacht
|
|
10
|
-
include Baykit::BayServer::Agent::Transporter::DataListener # implements
|
|
11
|
-
include Baykit::BayServer::Util::Reusable # implements
|
|
12
|
-
|
|
13
|
-
include Baykit::BayServer::Util
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
# class variables
|
|
17
|
-
class << self
|
|
18
|
-
attr :oid_counter
|
|
19
|
-
attr :yacht_id_counter
|
|
20
|
-
end
|
|
21
|
-
@oid_counter = Counter.new
|
|
22
|
-
@yacht_id_counter = Counter.new
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
attr :object_id
|
|
26
|
-
attr :yacht_id
|
|
27
|
-
|
|
28
|
-
YACHT_ID_NOCHECK = -1
|
|
29
|
-
INVALID_YACHT_ID = 0
|
|
30
|
-
|
|
31
|
-
def initialize()
|
|
32
|
-
@object_id = Yacht.oid_counter.next()
|
|
33
|
-
@yacht_id = INVALID_YACHT_ID
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def init_yacht()
|
|
37
|
-
@yacht_id = Yacht.yacht_id_counter.next()
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
end
|