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.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/lib/baykit/bayserver/agent/command_receiver.rb +2 -0
  3. data/lib/baykit/bayserver/agent/grand_agent.rb +145 -133
  4. data/lib/baykit/bayserver/agent/letters/accepted_letter.rb +17 -0
  5. data/lib/baykit/bayserver/agent/letters/closed_letter.rb +14 -0
  6. data/lib/baykit/bayserver/agent/letters/connected_letter.rb +14 -0
  7. data/lib/baykit/bayserver/agent/letters/error_letter.rb +16 -0
  8. data/lib/baykit/bayserver/agent/letters/letter.rb +19 -0
  9. data/lib/baykit/bayserver/agent/letters/package.rb +9 -0
  10. data/lib/baykit/bayserver/agent/letters/read_letter.rb +20 -0
  11. data/lib/baykit/bayserver/agent/letters/wrote_letter.rb +17 -0
  12. data/lib/baykit/bayserver/agent/monitor/grand_agent_monitor.rb +49 -49
  13. data/lib/baykit/bayserver/agent/multiplexer/job_multiplexer.rb +47 -32
  14. data/lib/baykit/bayserver/agent/multiplexer/job_multiplexer_base.rb +5 -0
  15. data/lib/baykit/bayserver/agent/multiplexer/multiplexer_base.rb +12 -28
  16. data/lib/baykit/bayserver/agent/multiplexer/plain_transporter.rb +20 -5
  17. data/lib/baykit/bayserver/agent/multiplexer/spider_multiplexer.rb +125 -87
  18. data/lib/baykit/bayserver/agent/multiplexer/spin_multiplexer.rb +24 -19
  19. data/lib/baykit/bayserver/agent/multiplexer/taxi_multiplexer.rb +21 -15
  20. data/lib/baykit/bayserver/bay_log.rb +20 -16
  21. data/lib/baykit/bayserver/bayserver.rb +8 -15
  22. data/lib/baykit/bayserver/common/cities.rb +1 -1
  23. data/lib/baykit/bayserver/common/inbound_ship.rb +5 -45
  24. data/lib/baykit/bayserver/common/inbound_ship_store.rb +0 -1
  25. data/lib/baykit/bayserver/common/multiplexer.rb +5 -1
  26. data/lib/baykit/bayserver/{agent/multiplexer → common}/rudder_state.rb +42 -11
  27. data/lib/baykit/bayserver/common/rudder_state_store.rb +63 -0
  28. data/lib/baykit/bayserver/{agent/multiplexer → common}/transporter.rb +2 -4
  29. data/lib/baykit/bayserver/common/warp_ship.rb +12 -7
  30. data/lib/baykit/bayserver/{agent/multiplexer → common}/write_unit.rb +2 -4
  31. data/lib/baykit/bayserver/docker/base/inbound_data_listener.rb +0 -1
  32. data/lib/baykit/bayserver/docker/base/port_base.rb +5 -5
  33. data/lib/baykit/bayserver/docker/base/warp_base.rb +7 -4
  34. data/lib/baykit/bayserver/docker/built_in/built_in_city_docker.rb +1 -1
  35. data/lib/baykit/bayserver/docker/built_in/built_in_harbor_docker.rb +25 -2
  36. data/lib/baykit/bayserver/docker/built_in/built_in_log_docker.rb +43 -35
  37. data/lib/baykit/bayserver/docker/harbor.rb +14 -0
  38. data/lib/baykit/bayserver/docker/send_file/file_content.rb +66 -0
  39. data/lib/baykit/bayserver/docker/send_file/file_content_handler.rb +113 -29
  40. data/lib/baykit/bayserver/docker/send_file/file_store.rb +117 -0
  41. data/lib/baykit/bayserver/docker/send_file/send_file_docker.rb +13 -5
  42. data/lib/baykit/bayserver/docker/send_file/send_file_ship.rb +11 -2
  43. data/lib/baykit/bayserver/docker/send_file/wait_file_ship.rb +92 -0
  44. data/lib/baykit/bayserver/mem_usage.rb +2 -0
  45. data/lib/baykit/bayserver/protocol/packet.rb +2 -1
  46. data/lib/baykit/bayserver/protocol/packet_part_accessor.rb +5 -5
  47. data/lib/baykit/bayserver/protocol/protocol_exception.rb +7 -1
  48. data/lib/baykit/bayserver/rudders/io_rudder.rb +2 -2
  49. data/lib/baykit/bayserver/rudders/rudder.rb +4 -0
  50. data/lib/baykit/bayserver/rudders/rudder_base.rb +21 -0
  51. data/lib/baykit/bayserver/tours/req_content_handler.rb +13 -13
  52. data/lib/baykit/bayserver/tours/tour.rb +18 -13
  53. data/lib/baykit/bayserver/tours/tour_req.rb +13 -15
  54. data/lib/baykit/bayserver/tours/tour_res.rb +42 -19
  55. data/lib/baykit/bayserver/util/cgi_util.rb +7 -2
  56. data/lib/baykit/bayserver/util/headers.rb +2 -2
  57. data/lib/baykit/bayserver/util/http_status.rb +7 -0
  58. data/lib/baykit/bayserver/util/http_util.rb +16 -0
  59. data/lib/baykit/bayserver/util/nio_selector.rb +103 -0
  60. data/lib/baykit/bayserver/util/rb_selector.rb +55 -0
  61. data/lib/baykit/bayserver/util/selector.rb +43 -80
  62. data/lib/baykit/bayserver/util/simple_buffer.rb +1 -1
  63. data/lib/baykit/bayserver/version.rb +1 -1
  64. metadata +24 -21
  65. data/lib/baykit/bayserver/agent/accept_handler.rb +0 -71
  66. data/lib/baykit/bayserver/agent/channel_listener.rb +0 -35
  67. data/lib/baykit/bayserver/agent/letter.rb +0 -30
  68. data/lib/baykit/bayserver/agent/transporter/data_listener.rb +0 -38
  69. data/lib/baykit/bayserver/agent/transporter/package.rb +0 -0
  70. data/lib/baykit/bayserver/agent/transporter/spin_read_transporter.rb +0 -111
  71. data/lib/baykit/bayserver/agent/transporter/spin_write_transporter.rb +0 -125
  72. data/lib/baykit/bayserver/agent/transporter/transporter.rb +0 -332
  73. data/lib/baykit/bayserver/docker/built_in/log_boat.rb +0 -71
  74. data/lib/baykit/bayserver/tours/send_file_yacht.rb +0 -97
  75. data/lib/baykit/bayserver/watercraft/boat.rb +0 -43
  76. 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