class Fluent::PluginHelper::Server::EventHandler::UDPServer
def initialize(sock, max_bytes, flags, close_socket, log, under_plugin_development, &callback)
def initialize(sock, max_bytes, flags, close_socket, log, under_plugin_development, &callback) raise ArgumentError, "socket must be a UDPSocket: sock = #{sock}" unless sock.is_a?(UDPSocket) super(sock) @sock = sock @max_bytes = max_bytes @flags = flags @close_socket = close_socket @log = log @under_plugin_development = under_plugin_development @callback = callback on_readable_impl = case @callback.arity when 1 then :on_readable_without_sock when 2 then :on_readable_with_sock else raise "BUG: callback block must have 1 or 2 arguments" end self.define_singleton_method(:on_readable, method(on_readable_impl)) end