Class: ASIR::Transport::TcpSocket
- Inherits:
-
ConnectionOriented
- Object
- ASIR::Transport
- Stream
- ConnectionOriented
- ASIR::Transport::TcpSocket
- Defined in:
- lib/asir/transport/tcp_socket.rb
Overview
!SLIDE TCP Socket Transport
Constant Summary
Constants included from PayloadIO
PayloadIO::FOOTER, PayloadIO::HEADER
Constants included from UriConfig
UriConfig::S_LOCALHOST, UriConfig::S_TCP
Constants included from ASIR::ThreadVariable
ASIR::ThreadVariable::DEBUG, ASIR::ThreadVariable::EMPTY_HASH, ASIR::ThreadVariable::SETTER
Instance Attribute Summary
Attributes included from UriConfig
#host, #host_default, #path, #path_default, #port, #port_default, #scheme, #scheme_default, #uri
Attributes inherited from ASIR::Transport
#after_invoke_message, #after_receive_message, #before_send_message, #coder_needs_result_message, #decoder, #encoder, #invoker, #message_count, #needs_message_identifier, #needs_message_timestamp, #on_exception, #on_result_exception, #one_way, #running, #verbose
Attributes included from Log
Instance Method Summary collapse
-
#_client_connect! ⇒ Object
!SLIDE TCP Socket Client.
-
#_server! ⇒ Object
!SLIDE TCP Socket Server.
- #_server_accept_connection!(server) ⇒ Object
- #_server_close_connection!(in_stream, out_stream) ⇒ Object
Methods inherited from ConnectionOriented
#_after_connect!, #_before_close!, #_connect!, #_receive_message, #_receive_result, #_send_message, #_send_result, #_server_close!, #connect!, #prepare_server!, #run_server!, #serve_connection!, #server_on_start!, #server_on_stop!, #stream
Methods included from PayloadIO
#_read, #_read_line_and_expect!, #_write, #close
Methods included from UriConfig
Methods inherited from Stream
#_serve_stream!, #serve_stream!, #serve_stream_message!, #stream_eof?
Methods inherited from ASIR::Transport
#_after_invoke_message, #_subclass_responsibility, #initialize, #invoke_message!, #needs_message_identifier?, #needs_message_timestamp?, #receive_message, #receive_result, #send_message, #send_result, #serve_message!, #stop!, #with_force_stop!, #with_server_signals!
Methods included from Log
#_log, #_log_enabled=, #_log_enabled?, #_log_format, #_log_result, enabled, enabled=, included
Methods included from Initialization
Methods included from AdditionalData
#[], #[]=, #_additional_data, #additional_data, #additional_data!, #additional_data=, included
Methods included from Message::Delay
#relative_message_delay!, #wait_for_delay!
Methods included from ASIR::ThreadVariable
Constructor Details
This class inherits a constructor from ASIR::Transport
Instance Method Details
#_client_connect! ⇒ Object
!SLIDE TCP Socket Client
11 12 13 |
# File 'lib/asir/transport/tcp_socket.rb', line 11 def _client_connect! sock = ::TCPSocket.open(host, port) end |
#_server! ⇒ Object
!SLIDE TCP Socket Server
17 18 19 20 |
# File 'lib/asir/transport/tcp_socket.rb', line 17 def _server! @server = ::TCPServer.open(port) @server.setsockopt(::Socket::SOL_SOCKET, ::Socket::SO_KEEPALIVE, false) end |
#_server_accept_connection!(server) ⇒ Object
22 23 24 25 |
# File 'lib/asir/transport/tcp_socket.rb', line 22 def _server_accept_connection! server socket = server.accept [ socket, socket ] # Use same socket for in_stream and out_stream end |
#_server_close_connection!(in_stream, out_stream) ⇒ Object
27 28 29 |
# File 'lib/asir/transport/tcp_socket.rb', line 27 def _server_close_connection! in_stream, out_stream in_stream.close rescue nil end |