Class: Baykit::BayServer::Docker::Ajp::AjpCommand
- Inherits:
-
Protocol::Command
- Object
- Protocol::Command
- Baykit::BayServer::Docker::Ajp::AjpCommand
- Defined in:
- lib/baykit/bayserver/docker/ajp/ajp_command.rb
Direct Known Subclasses
Command::CmdData, Command::CmdEndResponse, Command::CmdForwardRequest, Command::CmdGetBodyChunk, Command::CmdSendBodyChunk, Command::CmdSendHeaders, Command::CmdShutdown
Instance Attribute Summary collapse
-
#to_server ⇒ Object
Returns the value of attribute to_server.
Instance Method Summary collapse
-
#initialize(type, to_server) ⇒ AjpCommand
constructor
A new instance of AjpCommand.
-
#pack(pkt) ⇒ Object
Super class method must be called from last line of override method since header cannot be packed before data is constructed.
- #pack_header(pkt) ⇒ Object
- #unpack(pkt) ⇒ Object
Constructor Details
#initialize(type, to_server) ⇒ AjpCommand
Returns a new instance of AjpCommand.
13 14 15 16 |
# File 'lib/baykit/bayserver/docker/ajp/ajp_command.rb', line 13 def initialize(type, to_server) super type @to_server = to_server end |
Instance Attribute Details
#to_server ⇒ Object
Returns the value of attribute to_server.
11 12 13 |
# File 'lib/baykit/bayserver/docker/ajp/ajp_command.rb', line 11 def to_server @to_server end |
Instance Method Details
#pack(pkt) ⇒ Object
Super class method must be called from last line of override method since header cannot be packed before data is constructed.
29 30 31 32 33 34 35 |
# File 'lib/baykit/bayserver/docker/ajp/ajp_command.rb', line 29 def pack(pkt) if pkt.type() != @type raise RuntimeError.new "Illegal State" end pkt.to_server = @to_server pack_header(pkt) end |
#pack_header(pkt) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/baykit/bayserver/docker/ajp/ajp_command.rb', line 37 def pack_header(pkt) acc = pkt.new_ajp_header_accessor if pkt.to_server acc.put_byte(0x12) acc.put_byte(0x34) else acc.put_byte('A') acc.put_byte('B') end acc.put_byte((pkt.data_len >> 8) & 0xff) acc.put_byte(pkt.data_len & 0xff) end |
#unpack(pkt) ⇒ Object
18 19 20 21 22 23 |
# File 'lib/baykit/bayserver/docker/ajp/ajp_command.rb', line 18 def unpack(pkt) if pkt.type() != @type raise RuntimeError.new("Illegal State") end @to_server = pkt.to_server end |