class

Minion::Client

Inherits Reference < Object

Constants

CONNECTION_FAILURE_TIMEOUT = 86400 * 2
MAX_FAILURE_COUNT = 0_u128 &- 1
MAX_LENGTH_BYTES = MAX_MESSAGE_LENGTH.to_s.length
MAX_MESSAGE_LENGTH = 8192
PERSISTENT_QUEUE_LIMIT = 10737412742_i64
RECONNECT_THROTTLE_INTERVAL = 0.1
VERSION = "0.1.0"

Constructors

new(host : String = "127.0.0.1", port : Int32 = 6766, group : String = "", server : String = UUID.new(identifier: build_identifier).to_s, key : String = "")
Source

Class methods

connection_failure_timeout
Source
connection_failure_timeout=(val)
Source
max_failure_count
Source
max_failure_count=(val)
Source
persistent_queue_limit
Source
persistent_queue_limit=(val)
Source
reconnect_throttle_interval
Source
reconnect_throttle_interval=(val)
Source

Instance methods

_drain_the_swamp
Source
_local_log(verb : String | Symbol = "", uuid : UUID = UUID.new, data : Array(String) = [@group, @server] of String, already_packed_msg : Slice(UInt8) | Nil = nil)
Source
_send_remote(verb : String | Symbol = "", uuid : UUID = UUID.new, data : Array(String) = [@group, @server] of String, flush_after_send = false, already_packed_msg : Slice(UInt8) | Nil = nil)

TODO: This is gross. Use overloading instead of doing this like it's Ruby. def _send_remote(service, severity, message, flush_after_send = true)

Source
authenticate
Source
authenticated?
Source
build_identifier(random = false)

This only comes into play if a server ID is being fabricated by the client itself. It tries to get the MAC address of the main interface on the system via a poor heuristic, and if that fails, it just makes 6 random bytes.

Source
clear_failure
Source
close
Source
close_connection
Source
closed?
Source
connect
Source
connection_failure_timeout
Source
connection_failure_timeout=(val)
Source
drain_the_swamp
Source
fail_connect?
Source
failed?
Source
failed_too_long?
Source
failed_too_many?
Source
max_failure_count
Source
max_failure_count=(val)
Source
non_blocking_lock_on_file_handle(file_handle, &)
Source
open_connection(host, port)
Source
persistent_queue_limit
Source
persistent_queue_limit=(val)
Source
ram_queue_limit
Source
ram_queue_limit=(val)
Source
read(io = @socket)
Source
reconnect
Source
reconnect_throttle_interval
Source
reconnect_throttle_interval=(val)
Source
register_failure
Source
send(verb : String | Symbol = "", uuid : UUID = UUID.new, data : Array(String) = [@group, @server] of String)
Source
setup_local_logging
Source
setup_reconnect_fiber
Source
setup_remote
Source
there_is_a_swamp?
Source
tmplog
Source
tmplog=(tmplog : Nil | String)
Source
tmplog_prefix
Source
tmplogs
Source
total_count
Source

Nested types