SYMBOL INDEX (493 symbols across 58 files) FILE: bench/client.exs class Client (line 5) | defmodule Client method setup (line 8) | def setup(id) do method send_request (line 14) | def send_request(gnat, request) do method send_requests (line 18) | def send_requests(gnat, how_many, request) do class Benchmark (line 27) | defmodule Benchmark method benchmark (line 28) | def benchmark(num_actors, requests_per_actor, request) do method record_rpc_time (line 37) | def record_rpc_time(micro_seconds) do method print_statistics (line 41) | def print_statistics(total_requests, total_bytes, total_micros) do method time_benchmark (line 66) | def time_benchmark(num_actors, requests_per_actor, request) do method wait_for_times (line 82) | def wait_for_times(0), do: :done method wait_for_times (line 83) | def wait_for_times(n) do FILE: bench/kv_consume.exs class BenchBatchPullConsumer (line 28) | defmodule BenchBatchPullConsumer method start (line 31) | def start(args) do method init (line 36) | def init(%{tab: tab, notify: pid, expected: expected, batch_size: batc... method handle_message (line 50) | def handle_message(message, state) do class KVConsumeBench (line 62) | defmodule KVConsumeBench method setup (line 67) | def setup(conn, count) do method pager_consume (line 96) | def pager_consume(conn, batch_size) do method pull_ack_next_consume (line 113) | def pull_ack_next_consume(conn, batch_size) do method receive_with_ack_next (line 152) | defp receive_with_ack_next(_sub, _inbox, _tab, total, total), do: :ok method receive_with_ack_next (line 154) | defp receive_with_ack_next(sub, inbox, tab, count, total) do method batch_pull_consumer_consume (line 185) | def batch_pull_consumer_consume(expected, batch_size) do FILE: bench/request.exs class EchoServer (line 1) | defmodule EchoServer method run (line 2) | def run(gnat) do method init (line 6) | def init(gnat) do method loop (line 11) | def loop(gnat) do FILE: bench/request_multi.exs class EchoServer (line 1) | defmodule EchoServer method run (line 2) | def run(gnat) do method init (line 6) | def init(gnat) do method loop (line 11) | def loop(gnat) do FILE: bench/server.exs class EchoServer (line 16) | defmodule EchoServer method handle (line 17) | def handle(%{body: body, reply_to: reply_to, gnat: gnat_pid}) do method wait_loop (line 21) | def wait_loop do FILE: bench/service_bench.exs class EchoService (line 1) | defmodule EchoService method request (line 4) | def request(%{body: body}, "echo", _group) do method definition (line 8) | def definition do FILE: lib/gnat.ex class Gnat (line 5) | defmodule Gnat method start_link (line 153) | def start_link(connection_settings \\ %{}, opts \\ []) do method stop (line 166) | def stop(pid), do: GenServer.call(pid, :stop) method sub (line 191) | def sub(pid, subscriber, topic, opts \\ []) do method pub (line 228) | def pub(pid, topic, message, opts \\ []) do method request (line 264) | def request(pid, topic, body, opts \\ []) do method request_multi (line 303) | def request_multi(pid, topic, body, opts \\ []) do method unsub (line 352) | def unsub(pid, sid, opts \\ []) do method ping (line 363) | def ping(_pid) do method active_subscriptions (line 369) | def active_subscriptions(pid) do method server_info (line 377) | def server_info(name) do method init (line 382) | def init(connection_settings) do method handle_info (line 414) | def handle_info(:ping_check, %{waiting_on_pong: true} = state) do method handle_info (line 422) | def handle_info(:ping_check, %{waiting_on_pong: false} = state) do method handle_info (line 428) | def handle_info({:tcp, socket, data}, %{socket: socket} = state) do method handle_info (line 441) | def handle_info({:ssl, socket, data}, state) do method handle_info (line 445) | def handle_info({:tcp_closed, _}, state) do method handle_info (line 449) | def handle_info({:ssl_closed, _}, state) do method handle_info (line 453) | def handle_info({:tcp_error, _, reason}, state) do method handle_info (line 457) | def handle_info({:DOWN, _ref, :process, pid, _reason}, state) do method handle_info (line 466) | def handle_info(other, state) do method handle_call (line 472) | def handle_call(:stop, _from, state) do method handle_call (line 477) | def handle_call({:sub, receiver, topic, opts}, _from, %{next_sid: sid}... method handle_call (line 488) | def handle_call({:pub, topic, message, opts}, from, state) do method handle_call (line 497) | def handle_call({:request, request}, _from, state) do method handle_call (line 529) | def handle_call({:unsub, sid, opts}, _from, state) do method handle_call (line 534) | def handle_call({:ping, pinger}, _from, state) do method handle_call (line 539) | def handle_call(:active_subscriptions, _from, state) do method handle_call (line 544) | def handle_call(:server_info, _from, state) do method unsub_sid (line 548) | defp unsub_sid(sid, opts, state) do method create_request_subscription (line 562) | defp create_request_subscription(%{request_inbox_prefix: request_inbox... method make_new_inbox (line 570) | defp make_new_inbox(%{request_inbox_prefix: prefix}), do: prefix <> nu... method nuid (line 572) | defp nuid(), do: :crypto.strong_rand_bytes(12) |> Base.encode64() method prepare_headers (line 574) | defp prepare_headers(opts) do method socket_close (line 583) | defp socket_close(%{socket: socket, connection_settings: %{tls: true}}... method socket_close (line 584) | defp socket_close(%{socket: socket}), do: :gen_tcp.close(socket) method socket_write (line 586) | defp socket_write(%{socket: socket, connection_settings: %{tls: true}}... method socket_write (line 590) | defp socket_write(%{socket: socket}, iodata), do: :gen_tcp.send(socket... method add_subscription_to_state (line 592) | defp add_subscription_to_state(%{receivers: receivers} = state, sid, p... method cleanup_subscription_from_state (line 599) | defp cleanup_subscription_from_state(%{receivers: receivers} = state, ... method cleanup_subscription_from_state (line 604) | defp cleanup_subscription_from_state(%{receivers: receivers} = state, ... method process_message (line 609) | defp process_message({:info, server_info}, state) do method process_message (line 613) | defp process_message({:msg, topic, @request_sid, reply_to, body}, stat... method process_message (line 627) | defp process_message({:msg, topic, sid, reply_to, body}, state) do method process_message (line 643) | defp process_message( method process_message (line 666) | defp process_message({:hmsg, topic, sid, reply_to, status, description... method process_message (line 689) | defp process_message(:ping, state) do method process_message (line 694) | defp process_message(:pong, state) do method process_message (line 698) | defp process_message({:error, message}, state) do method receive_additional_pubs (line 707) | defp receive_additional_pubs(commands, froms, 0), do: {commands, froms} method receive_additional_pubs (line 709) | defp receive_additional_pubs(commands, froms, how_many_more) do method receive_additional_tcp_data (line 720) | defp receive_additional_tcp_data(_socket, packets, 0), do: Enum.revers... method receive_additional_tcp_data (line 722) | defp receive_additional_tcp_data(socket, packets, n) do method update_subscriptions_after_delivering_message (line 731) | defp update_subscriptions_after_delivering_message(%{receivers: receiv... method receive_multi_request_responses (line 742) | defp receive_multi_request_responses(_sub, _exp, 0), do: [] method receive_multi_request_responses (line 744) | defp receive_multi_request_responses(subscription, expiration, max_mes... method receive_request_response (line 765) | defp receive_request_response(subscription, timeout) do method schedule_ping_check (line 778) | defp schedule_ping_check(connection_settings) do FILE: lib/gnat/command.ex class Gnat.Command (line 1) | defmodule Gnat.Command method build (line 10) | def build(:pub, topic, payload, []), method build (line 13) | def build(:pub, topic, payload, reply_to: reply), method build (line 26) | def build(:pub, topic, payload, headers: headers) do method build (line 48) | def build(:pub, topic, payload, headers: headers, reply_to: reply) do method build (line 72) | def build(:sub, topic, sid, []), do: [@sub, " ", topic, " ", Integer.t... method build (line 74) | def build(:sub, topic, sid, queue_group: qg), method build (line 77) | def build(:unsub, sid, []), do: [@unsub, " #{sid}", @newline] method build (line 78) | def build(:unsub, sid, max_messages: max), do: [@unsub, " #{sid}", " #... FILE: lib/gnat/connection_supervisor.ex class Gnat.ConnectionSupervisor (line 1) | defmodule Gnat.ConnectionSupervisor method start_link (line 40) | def start_link(settings, options \\ []) do method init (line 45) | def init(options) do method handle_info (line 59) | def handle_info(:attempt_connection, state) do method handle_info (line 77) | def handle_info({:EXIT, _pid, _reason}, %{gnat: nil} = state) do method handle_info (line 81) | def handle_info({:EXIT, _pid, reason}, state) do method handle_info (line 87) | def handle_info(msg, state) do method random_connection_config (line 92) | defp random_connection_config(%{connection_settings: connection_settin... FILE: lib/gnat/consumer_supervisor.ex class Gnat.ConsumerSupervisor (line 1) | defmodule Gnat.ConsumerSupervisor method start_link (line 63) | def start_link(settings, options \\ []) do method init (line 68) | def init(settings) do method handle_info (line 94) | def handle_info(:connect, %{connection_name: name} = state) do method handle_info (line 114) | def handle_info( method handle_info (line 123) | def handle_info({:DOWN, _ref, :process, _task_pid, _reason}, state), d... method handle_info (line 126) | def handle_info( method handle_info (line 134) | def handle_info({:msg, gnat_message}, %{service: service, module: modu... method handle_info (line 144) | def handle_info({:msg, gnat_message}, %{module: module} = state) do method handle_info (line 153) | def handle_info({:msg, gnat_message}, %{consuming_function: {mod, fun}... method handle_info (line 158) | def handle_info(other, state) do method terminate (line 164) | def terminate(:shutdown, state) do method terminate (line 178) | def terminate(reason, _state) do method receive_final_broker_messages (line 182) | defp receive_final_broker_messages(state) do method wait_for_empty_task_supervisor (line 193) | defp wait_for_empty_task_supervisor(%{task_supervisor_pid: pid} = stat... method subscribe_to_topics (line 205) | defp subscribe_to_topics(%{service: service}, connection_pid) do method subscribe_to_topics (line 218) | defp subscribe_to_topics(state, connection_pid) do method maybe_append_service (line 232) | defp maybe_append_service(state, %{service_definition: config}) do method maybe_append_service (line 242) | defp maybe_append_service(state, _), do: {:ok, state} method maybe_append_module (line 244) | defp maybe_append_module(state, %{module: module}) do method maybe_append_module (line 248) | defp maybe_append_module(state, _), do: {:ok, state} method maybe_append_consuming_function (line 250) | defp maybe_append_consuming_function(state, %{consuming_function: cons... method maybe_append_consuming_function (line 254) | defp maybe_append_consuming_function(state, _), do: {:ok, state} method validate_state (line 256) | defp validate_state(state) do FILE: lib/gnat/handshake.ex class Gnat.Handshake (line 1) | defmodule Gnat.Handshake method connect (line 9) | def connect(settings) do method negotiate_settings (line 18) | def negotiate_settings(server_settings, user_settings) do method perform_handshake (line 27) | defp perform_handshake(tcp, user_settings) do method send_connect (line 41) | defp send_connect(%{tls: true}, settings, socket) do method send_connect (line 45) | defp send_connect(_, settings, socket) do method negotiate_auth (line 49) | defp negotiate_auth( method negotiate_auth (line 58) | defp negotiate_auth(settings, _server, %{token: token} = _user, true =... method negotiate_auth (line 62) | defp negotiate_auth( method negotiate_auth (line 74) | defp negotiate_auth( method negotiate_auth (line 87) | defp negotiate_auth(settings, _server, _user, _auth_required) do method negotiate_headers (line 91) | defp negotiate_headers(settings, %{headers: true} = _server, user_sett... method negotiate_headers (line 99) | defp negotiate_headers(_settings, _server, %{headers: true} = _user) do method negotiate_headers (line 103) | defp negotiate_headers(settings, _server, _user) do method negotiate_no_responders (line 107) | defp negotiate_no_responders(%{headers: true} = settings, _server_sett... method negotiate_no_responders (line 113) | defp negotiate_no_responders(settings, _server_settings, _user_setting... method upgrade_connection (line 117) | defp upgrade_connection(tcp, %{tls: true, ssl_opts: opts}) do method upgrade_connection (line 122) | defp upgrade_connection(tcp, _settings), do: {:ok, tcp} FILE: lib/gnat/jetstream/api/consumer.ex class Gnat.Jetstream.API.Consumer (line 1) | defmodule Gnat.Jetstream.API.Consumer method create (line 241) | def create(conn, %__MODULE__{} = consumer) do method delete (line 270) | def delete(conn, stream_name, consumer_name, domain \\ nil) do method info (line 297) | def info(conn, stream_name, consumer_name, domain \\ nil) do method list (line 322) | def list(conn, stream_name, params \\ []) do method request_next_message (line 377) | def request_next_message( method js_api (line 411) | defp js_api(nil), do: "$JS.API" method js_api (line 412) | defp js_api(""), do: "$JS.API" method js_api (line 413) | defp js_api(domain), do: "$JS.#{domain}.API" method create_payload (line 415) | defp create_payload(%__MODULE__{} = cons) do method to_config (line 447) | defp to_config(raw) do method to_info (line 475) | defp to_info(raw) do method validate (line 498) | defp validate(consumer) do method validate_durable (line 527) | defp validate_durable(consumer) do FILE: lib/gnat/jetstream/api/kv.ex class Gnat.Jetstream.API.KV (line 1) | defmodule Gnat.Jetstream.API.KV method create_bucket (line 52) | def create_bucket(conn, bucket_name, params \\ []) do method adjust_duplicate_window (line 83) | defp adjust_duplicate_window(_ttl), do: @two_minutes_in_nanoseconds method delete_bucket (line 93) | def delete_bucket(conn, bucket_name) do method create_key (line 116) | def create_key(conn, bucket_name, key, value, opts \\ []) do method delete_key (line 141) | def delete_key(conn, bucket_name, key, opts \\ []) do method purge_key (line 170) | def purge_key(conn, bucket_name, key, opts \\ []) do method put_value (line 200) | def put_value(conn, bucket_name, key, value, opts \\ []) do method get_value (line 220) | def get_value(conn, bucket_name, key) do method contents (line 244) | def contents(conn, bucket_name, opts \\ []) do method keys (line 282) | def keys(conn, bucket_name, opts \\ []) do method info (line 324) | def info(conn, bucket_name, opts \\ []) do method watch (line 338) | def watch(conn, bucket_name, handler) do method unwatch (line 354) | def unwatch(pid) do method is_kv_bucket_stream? (line 360) | def is_kv_bucket_stream?(stream_name) do method kv_bucket_stream? (line 371) | def kv_bucket_stream?(stream_name) do method list_buckets (line 379) | def list_buckets(conn) do method stream_name (line 394) | def stream_name(bucket_name) do method stream_subjects (line 398) | defp stream_subjects(bucket_name) do method key_name (line 402) | defp key_name(bucket_name, key) do method subject_to_key (line 407) | def subject_to_key(subject, bucket_name) do FILE: lib/gnat/jetstream/api/kv/entry.ex class Gnat.Jetstream.API.KV.Entry (line 1) | defmodule Gnat.Jetstream.API.KV.Entry method from_message (line 95) | def from_message(message, bucket_name) do method status_message? (line 112) | defp status_message?(_), do: false method extract_key (line 114) | defp extract_key(%{topic: topic}, bucket_name) do method operation (line 133) | defp operation(_message), do: :put method apply_metadata (line 135) | defp apply_metadata(entry, message) do FILE: lib/gnat/jetstream/api/kv/watcher.ex class Gnat.Jetstream.API.KV.Watcher (line 1) | defmodule Gnat.Jetstream.API.KV.Watcher method start_link (line 29) | def start_link(opts) do method stop (line 33) | def stop(pid) do method init (line 37) | def init(opts) do method terminate (line 51) | def terminate(_reason, state) do method handle_info (line 74) | def handle_info({:msg, message}, state) do method action (line 86) | defp action(:put), do: :key_added method action (line 87) | defp action(:delete), do: :key_deleted method action (line 88) | defp action(:purge), do: :key_purged method subscribe (line 90) | defp subscribe(conn, bucket_name) do FILE: lib/gnat/jetstream/api/message.ex class Gnat.Jetstream.API.Message (line 1) | defmodule Gnat.Jetstream.API.Message method metadata (line 35) | def metadata(%{reply_to: "$JS.ACK." <> ack_topic}), method metadata (line 38) | def metadata(_), do: {:error, :no_jetstream_message} method decode_reply_to (line 42) | defp decode_reply_to([ method decode_reply_to (line 76) | defp decode_reply_to([ method decode_reply_to (line 106) | defp decode_reply_to(_), do: {:error, :invalid_ack_reply_to} class Metadata (line 10) | defmodule Metadata FILE: lib/gnat/jetstream/api/object.ex class Gnat.Jetstream.API.Object (line 1) | defmodule Gnat.Jetstream.API.Object method create_bucket (line 23) | def create_bucket(conn, bucket_name, params \\ []) do method delete_bucket (line 45) | def delete_bucket(conn, bucket_name) do method delete (line 50) | def delete(conn, bucket_name, object_name) do method get (line 62) | def get(conn, bucket_name, object_name, chunk_fun) do method info (line 70) | def info(conn, bucket_name, object_name) do method list (line 88) | def list(conn, bucket_name, options \\ []) do method put (line 119) | def put(conn, bucket_name, object_name, io) do method is_object_bucket_stream? (line 154) | def is_object_bucket_stream?(stream_name) do method list_buckets (line 162) | def list_buckets(conn) do method stream_name (line 181) | defp stream_name(bucket_name) do method stream_subjects (line 185) | defp stream_subjects(bucket_name) do method chunk_stream_subject (line 192) | defp chunk_stream_subject(bucket_name) do method chunk_stream_topic (line 196) | defp chunk_stream_topic(bucket_name, nuid) do method chunk_stream_topic (line 200) | defp chunk_stream_topic(%Meta{bucket: bucket, nuid: nuid}) do method meta_stream_subject (line 204) | defp meta_stream_subject(bucket_name) do method meta_stream_topic (line 208) | defp meta_stream_topic(bucket_name, object_name) do method adjust_duplicate_window (line 217) | defp adjust_duplicate_window(_ttl), do: @two_minutes_in_nanoseconds method json_to_meta (line 219) | defp json_to_meta(json) do method purge_prior_chunks (line 242) | defp purge_prior_chunks(conn, bucket, name) do method receive_all_metas (line 255) | defp receive_all_metas(sid, num_pending, messages \\ []) method receive_all_metas (line 257) | defp receive_all_metas(_sid, 0, messages) do method receive_all_metas (line 261) | defp receive_all_metas(sid, remaining, messages) do method receive_chunks (line 272) | defp receive_chunks(conn, %Meta{} = meta, chunk_fun) do method receive_chunks (line 298) | defp receive_chunks(_conn, _sub, 0, _chunk_fun) do method receive_chunks (line 302) | defp receive_chunks(conn, sub, remaining, chunk_fun) do method send_chunks (line 325) | defp send_chunks(conn, io, topic) do method send_chunks (line 332) | defp send_chunks(conn, io, topic, sha, size, chunks) do method validate_bucket_name (line 356) | defp validate_bucket_name(name) do FILE: lib/gnat/jetstream/api/object/meta.ex class Gnat.Jetstream.API.Object.Meta (line 1) | defmodule Gnat.Jetstream.API.Object.Meta FILE: lib/gnat/jetstream/api/stream.ex class Gnat.Jetstream.API.Stream (line 1) | defmodule Gnat.Jetstream.API.Stream method create (line 287) | def create(conn, %__MODULE__{} = stream) do method update (line 309) | def update(conn, %__MODULE__{} = stream) do method list (line 419) | def list(conn, params \\ []) do method js_api (line 475) | defp js_api(nil), do: "$JS.API" method js_api (line 476) | defp js_api(""), do: "$JS.API" method js_api (line 477) | defp js_api(domain), do: "$JS.#{domain}.API" method to_state (line 479) | defp to_state(state) do method to_stream (line 496) | defp to_stream(stream) do method to_info (line 531) | defp to_info(%{"config" => config, "state" => state, "created" => crea... method validate (line 544) | defp validate(stream_settings) do method validate_message_access_method (line 569) | defp validate_message_access_method(method) do method validate_purge_method (line 581) | defp validate_purge_method(_) do FILE: lib/gnat/jetstream/api/util.ex class Gnat.Jetstream.API.Util (line 1) | defmodule Gnat.Jetstream.API.Util method request (line 6) | def request(conn, topic, payload) do method to_datetime (line 19) | def to_datetime(nil), do: nil method to_datetime (line 21) | def to_datetime(str) do method to_sym (line 26) | def to_sym(nil), do: nil method put_if_exist (line 32) | def put_if_exist(target_map, target_key, source_map, source_key) do method valid_name? (line 39) | def valid_name?(name) do method invalid_name_message (line 43) | def invalid_name_message do method decode_base64 (line 47) | def decode_base64(nil), do: nil method decode_base64 (line 48) | def decode_base64(data), do: Base.decode64!(data) method reply_inbox (line 50) | def reply_inbox(prefix \\ @default_inbox_prefix) method reply_inbox (line 51) | def reply_inbox(nil), do: reply_inbox() method reply_inbox (line 52) | def reply_inbox(prefix), do: prefix <> nuid() method nuid (line 54) | def nuid() do FILE: lib/gnat/jetstream/jetstream.ex class Gnat.Jetstream (line 1) | defmodule Gnat.Jetstream method ack (line 13) | def ack(%{reply_to: nil}) do method ack (line 17) | def ack(%{gnat: gnat, reply_to: reply_to}) do method ack_next (line 28) | def ack_next(%{reply_to: nil}, _consumer_subject) do method ack_next (line 32) | def ack_next(%{gnat: gnat, reply_to: reply_to}, consumer_subject) do method nack (line 43) | def nack(%{reply_to: nil}) do method nack (line 47) | def nack(%{gnat: gnat, reply_to: reply_to}) do method ack_progress (line 58) | def ack_progress(%{reply_to: nil}) do method ack_progress (line 62) | def ack_progress(%{gnat: gnat, reply_to: reply_to}) do method ack_term (line 73) | def ack_term(%{reply_to: nil}) do method ack_term (line 77) | def ack_term(%{gnat: gnat, reply_to: reply_to}) do FILE: lib/gnat/jetstream/pager.ex class Gnat.Jetstream.Pager (line 1) | defmodule Gnat.Jetstream.Pager method init (line 35) | def init(conn, stream_name, opts) do method page (line 71) | def page(state) do method cleanup (line 77) | def cleanup(%{conn: conn} = state) do method reduce (line 102) | def reduce(conn, stream_name, opts, initial_state, fun) do method page_through (line 108) | defp page_through(pager, state, fun) do method request_next_message (line 121) | defp request_next_message(state) do method receive_messages (line 141) | defp receive_messages(%{sub: sid} = state, messages) do method apply_opts_to_consumer (line 155) | defp apply_opts_to_consumer(consumer = %Consumer{}, opts) do FILE: lib/gnat/jetstream/pull_consumer.ex class Gnat.Jetstream.PullConsumer (line 1) | defmodule Gnat.Jetstream.PullConsumer method close (line 454) | def close(consumer) do FILE: lib/gnat/jetstream/pull_consumer/connection_options.ex class Gnat.Jetstream.PullConsumer.ConnectionOptions (line 1) | defmodule Gnat.Jetstream.PullConsumer.ConnectionOptions method validate! (line 27) | def validate!(connection_options) do FILE: lib/gnat/jetstream/pull_consumer/server.ex class Gnat.Jetstream.PullConsumer.Server (line 1) | defmodule Gnat.Jetstream.PullConsumer.Server method init (line 23) | def init(%{module: module, init_arg: init_arg}) do method connect (line 50) | def connect( method disconnect (line 136) | def disconnect( method ensure_consumer_exists (line 173) | defp ensure_consumer_exists(gnat, stream_name, consumer_name, nil, dom... method ensure_consumer_exists (line 186) | defp ensure_consumer_exists(gnat, _stream_name, nil, consumer_struct, ... method validate_consumer_for_creation (line 199) | defp validate_consumer_for_creation(consumer_definition) do method validate_batch_ack_policy (line 228) | defp validate_batch_ack_policy(_connection_options, _consumer_info), d... method maybe_handle_connected (line 230) | defp maybe_handle_connected(module, consumer_info, state) do method maybe_handle_status (line 239) | defp maybe_handle_status(message, %__MODULE__{module: module, state: s... method connection_pid (line 256) | defp connection_pid(connection_name) do method handle_info (line 352) | def handle_info( method handle_info (line 466) | def handle_info( method handle_call (line 493) | def handle_call( method next_message (line 517) | defp next_message(conn, stream_name, consumer_name, domain, listening_... method initial_fetch (line 527) | defp initial_fetch(gen_state, conn, stream_name, consumer_name, domain... method request_batch (line 535) | defp request_batch(conn, gen_state, mode) do method process_and_ack_batch (line 563) | defp process_and_ack_batch(%{buffer: buffer, module: module, state: st... FILE: lib/gnat/parsec.ex class Gnat.Parsec (line 1) | defmodule Gnat.Parsec method new (line 100) | def new, do: %__MODULE__{} method parse (line 102) | def parse(%__MODULE__{partial: nil} = state, string) do method parse (line 107) | def parse(%__MODULE__{partial: partial} = state, string) do method parse_commands (line 112) | def parse_commands("", list), do: {nil, Enum.reverse(list)} method parse_commands (line 114) | def parse_commands(str, list) do method parse_command (line 122) | def parse_command(string) do method parse_headers (line 150) | def parse_headers("NATS/1.0" <> rest) do method parse_headers (line 178) | def parse_headers(_other) do method finish_msg (line 182) | def finish_msg(subject, sid, reply_to, length, rest, string) do method finish_hmsg (line 192) | def finish_hmsg(subject, sid, reply_to, header_length, total_length, r... FILE: lib/gnat/server.ex class Gnat.Server (line 1) | defmodule Gnat.Server method execute (line 61) | def execute(module, message) do method execute_error (line 76) | defp execute_error(module, message, error) do method send_reply (line 106) | def send_reply(_other, _iodata) do FILE: lib/gnat/services/server.ex class Gnat.Services.Server (line 1) | defmodule Gnat.Services.Server method execute (line 113) | def execute(_module, %{topic: "$SRV" <> _} = message, service) do method execute (line 117) | def execute(module, message, service) do method execute_error (line 153) | defp execute_error(module, message, error) do method send_reply (line 183) | def send_reply(_other, _iodata) do FILE: lib/gnat/services/service.ex class Gnat.Services.Service (line 1) | defmodule Gnat.Services.Service method init (line 17) | def init(configuration) do method info (line 33) | def info(service) do method ping (line 49) | def ping(service) do method record_request (line 58) | def record_request(%{counters: counters} = _endpoint, elapsed_micros) do method record_error (line 63) | def record_error(%{counters: counters} = _endpoint, elapsed_micros) do method subscription_topics_with_queue_group (line 68) | def subscription_topics_with_queue_group(service) do method stats (line 79) | def stats(service) do method build_subject_map (line 94) | defp build_subject_map(endpoints) do method derive_subscription_subject (line 112) | defp derive_subscription_subject(endpoint) do method endpoint_info (line 128) | defp endpoint_info(endpoint) do method endpoint_stats (line 137) | defp endpoint_stats(%{counters: counters} = endpoint) do method validate_configuration (line 168) | defp validate_configuration(configuration) do method valid_version? (line 196) | defp valid_version?(service_definition) do method valid_name? (line 206) | defp valid_name?(service_definition) do method valid_metadata? (line 216) | defp valid_metadata?(nil), do: :ok method valid_metadata? (line 218) | defp valid_metadata?(md) do method valid_endpoint? (line 232) | defp valid_endpoint?(endpoint_definition) do FILE: lib/gnat/services/service_responder.ex class Gnat.Services.ServiceResponder (line 1) | defmodule Gnat.Services.ServiceResponder method maybe_respond (line 11) | def maybe_respond(%{topic: topic} = message, service) do method handle_ping (line 27) | defp handle_ping(tail, service, %{reply_to: rt, gnat: gnat}) do method handle_info (line 34) | defp handle_info(tail, service, %{reply_to: rt, gnat: gnat}) do method handle_stats (line 41) | defp handle_stats(tail, service, %{reply_to: rt, gnat: gnat}) do method should_respond? (line 49) | defp should_respond?(tail, service_name, instance_id) do FILE: lib/gnat/services/wire_protocol.ex class Gnat.Services.WireProtocol (line 1) | defmodule Gnat.Services.WireProtocol class InfoResponse (line 4) | defmodule InfoResponse class PingResponse (line 38) | defmodule PingResponse class StatsResponse (line 60) | defmodule StatsResponse FILE: mix.exs class Gnat.Mixfile (line 1) | defmodule Gnat.Mixfile method project (line 7) | def project do method application (line 27) | def application do method deps (line 31) | defp deps do method docs (line 46) | defp docs do method elixirc_paths (line 68) | defp elixirc_paths(:test), do: ["lib", "test/support"] method elixirc_paths (line 69) | defp elixirc_paths(_), do: ["lib"] method package (line 71) | defp package do FILE: scripts/cluster/driver.exs class FailoverConsumer (line 88) | defmodule FailoverConsumer method start_link (line 92) | def start_link(opts), do: Gnat.Jetstream.PullConsumer.start_link(__MOD... method init (line 95) | def init(opts) do method handle_message (line 100) | def handle_message(%{body: body, reply_to: reply_to}, state) do method handle_status (line 113) | def handle_status(%{status: status, description: desc}, state) do method handle_status (line 118) | def handle_status(%{status: status}, state) do method handle_connected (line 124) | def handle_connected(consumer_info, state) do class Publisher (line 143) | defmodule Publisher method loop (line 146) | def loop(subject, attempt \\ 1, accepted \\ 0) do FILE: test/command_test.exs class Gnat.CommandTest (line 1) | defmodule Gnat.CommandTest FILE: test/gnat/consumer_supervisor_test.exs class Gnat.ConsumerSupervisorTest (line 1) | defmodule Gnat.ConsumerSupervisorTest method start_service_supervisor (line 158) | defp start_service_supervisor(service_config) do FILE: test/gnat/handshake_test.exs class Gnat.HandshakeTest (line 1) | defmodule Gnat.HandshakeTest FILE: test/gnat/parsec_property_test.exs class Gnat.ParsecPropertyTest (line 1) | defmodule Gnat.ParsecPropertyTest method random_chunk (line 81) | def random_chunk(binary), do: random_chunk(binary, []) method random_chunk (line 82) | def random_chunk("", list), do: Enum.reverse(list) method random_chunk (line 84) | def random_chunk(binary, list) do FILE: test/gnat/parsec_test.exs class Gnat.ParsecTest (line 1) | defmodule Gnat.ParsecTest FILE: test/gnat_property_test.exs class GnatPropertyTest (line 1) | defmodule GnatPropertyTest FILE: test/gnat_test.exs class GnatTest (line 1) | defmodule GnatTest method spin_up_echo_server_on_topic (line 329) | defp spin_up_echo_server_on_topic(ready, gnat, topic) do FILE: test/jetstream/api/consumer_doc_test.exs class Gnat.Jetstream.API.ConsumerDocTest (line 1) | defmodule Gnat.Jetstream.API.ConsumerDocTest FILE: test/jetstream/api/consumer_test.exs class Gnat.Jetstream.API.ConsumerTest (line 1) | defmodule Gnat.Jetstream.API.ConsumerTest FILE: test/jetstream/api/kv/entry_test.exs class Gnat.Jetstream.API.KV.EntryTest (line 1) | defmodule Gnat.Jetstream.API.KV.EntryTest FILE: test/jetstream/api/kv/watcher_test.exs class Gnat.Jetstream.API.KV.WatcherTest (line 1) | defmodule Gnat.Jetstream.API.KV.WatcherTest FILE: test/jetstream/api/kv_test.exs class Gnat.Jetstream.API.KVTest (line 1) | defmodule Gnat.Jetstream.API.KVTest FILE: test/jetstream/api/object_test.exs class Gnat.Jetstream.API.ObjectTest (line 1) | defmodule Gnat.Jetstream.API.ObjectTest method generate_big_file (line 240) | defp generate_big_file(tmp_dir) do method put_filepath (line 256) | defp put_filepath(path, bucket, name) do method stream_byte_size (line 261) | defp stream_byte_size(bucket) do FILE: test/jetstream/api/stream_doc_test.exs class Gnat.Jetstream.API.StreamDocTest (line 1) | defmodule Gnat.Jetstream.API.StreamDocTest FILE: test/jetstream/api/stream_test.exs class Gnat.Jetstream.API.StreamTest (line 1) | defmodule Gnat.Jetstream.API.StreamTest FILE: test/jetstream/message_test.exs class Gnat.Jetstream.MessageTest (line 1) | defmodule Gnat.Jetstream.MessageTest FILE: test/jetstream/pager_test.exs class Gnat.Jetstream.PagerTest (line 1) | defmodule Gnat.Jetstream.PagerTest method create_stream (line 57) | defp create_stream(name) do FILE: test/pull_consumer/batch_test.exs class Gnat.Jetstream.PullConsumer.BatchTest (line 1) | defmodule Gnat.Jetstream.PullConsumer.BatchTest class BatchPullConsumer (line 9) | defmodule BatchPullConsumer method start_link (line 12) | def start_link(opts) do method init (line 17) | def init(opts) do method maybe_put (line 37) | defp maybe_put(conn_opts, key, opts) do method handle_connected (line 45) | def handle_connected(consumer_info, state) do method handle_message (line 51) | def handle_message(message, state) do class NonAckBatchConsumer (line 60) | defmodule NonAckBatchConsumer method start_link (line 63) | def start_link(opts) do method init (line 68) | def init(opts) do method handle_message (line 83) | def handle_message(%{body: "nack_me"}, state) do method handle_message (line 88) | def handle_message(%{body: "term_me"}, state) do method handle_message (line 93) | def handle_message(message, state) do FILE: test/pull_consumer/connectivity_test.exs class Gnat.Jetstream.PullConsumer.ConnectivityTest (line 1) | defmodule Gnat.Jetstream.PullConsumer.ConnectivityTest method cleanup (line 168) | defp cleanup do class ExamplePullConsumer (line 6) | defmodule ExamplePullConsumer method start_link (line 9) | def start_link(opts) do method init (line 14) | def init(opts) do method handle_message (line 19) | def handle_message(%{topic: "ackable"}, state) do method handle_message (line 23) | def handle_message(%{topic: "non-ackable", reply_to: reply_to}, state) do method handle_message (line 34) | def handle_message(%{topic: "terminatable"}, state) do method handle_message (line 38) | def handle_message(%{topic: "skippable"}, state) do FILE: test/pull_consumer/ephemeral_test.exs class Gnat.Jetstream.PullConsumer.EphemeralTest (line 1) | defmodule Gnat.Jetstream.PullConsumer.EphemeralTest method cleanup (line 80) | defp cleanup do class ExamplePullConsumer (line 6) | defmodule ExamplePullConsumer method start_link (line 9) | def start_link(opts) do method init (line 14) | def init(opts) do method handle_connected (line 27) | def handle_connected(consumer_info, state) do method handle_message (line 33) | def handle_message(message, state) do FILE: test/pull_consumer/status_messages_test.exs class Gnat.Jetstream.PullConsumer.StatusMessagesTest (line 1) | defmodule Gnat.Jetstream.PullConsumer.StatusMessagesTest method drain_pulls (line 271) | defp drain_pulls(timeout) do class ObservingConsumer (line 6) | defmodule ObservingConsumer method start_link (line 9) | def start_link(opts) do method init (line 14) | def init(opts) do method handle_message (line 22) | def handle_message(message, state) do method handle_status (line 28) | def handle_status(message, state) do class SilentConsumer (line 34) | defmodule SilentConsumer method start_link (line 37) | def start_link(opts) do method init (line 42) | def init(opts) do method handle_message (line 49) | def handle_message(message, test_pid) do FILE: test/pull_consumer/using_macro_test.exs class Gnat.Jetstream.PullConsumer.UsingMacroTest (line 1) | defmodule Gnat.Jetstream.PullConsumer.UsingMacroTest class ExamplePullConsumer (line 4) | defmodule ExamplePullConsumer method start_link (line 7) | def start_link(_) do method init (line 12) | def init([]) do method handle_message (line 17) | def handle_message(%{}, state) do FILE: test/support/conn_case.ex class Gnat.Jetstream.ConnCase (line 1) | defmodule Gnat.Jetstream.ConnCase method module_tags (line 18) | defp module_tags(opts) do method add_module_tag (line 24) | defp add_module_tag(tags, {:min_server_version, min_version}) do method add_module_tag (line 32) | defp add_module_tag(tags, _opt), do: tags method get_server_version (line 34) | defp get_server_version(conn) do method server_version_incompatible? (line 38) | defp server_version_incompatible?(min_version) do FILE: test/support/generators.ex class Gnat.Generators (line 1) | defmodule Gnat.Generators method alphanumeric_char (line 5) | def alphanumeric_char do method alphanumeric_space_char (line 9) | def alphanumeric_space_char do method numeric_char (line 13) | def numeric_char do method delimiter (line 18) | def delimiter, do: let(chunks <- non_empty(list(delimiter_char())), do... method delimiter_char (line 20) | def delimiter_char, do: union([" ", "\t"]) method error (line 22) | def error do method host_port (line 28) | def host_port do method info (line 35) | def info do method info_options (line 41) | def info_options do method ok (line 62) | def ok, do: %{binary: "+OK\r\n"} method ping (line 64) | def ping, do: %{binary: "PING\r\n"} method pong (line 66) | def pong, do: %{binary: "PONG\r\n"} method message (line 70) | def message, do: sized(size, message(size)) method message (line 71) | def message(size), do: union([message_without_reply(size), message_wit... method message_with_reply (line 73) | def message_with_reply(size) do method message_without_reply (line 91) | def message_without_reply(size) do method payload (line 108) | def payload(size), do: binary(size) method protocol_message (line 110) | def protocol_message do method sid (line 116) | def sid, do: non_neg_integer() method subject (line 118) | def subject do method subject_chunks (line 122) | def subject_chunks do method reply_to (line 129) | def reply_to, do: subject() FILE: test/test_helper.exs class RpcEndpoint (line 35) | defmodule RpcEndpoint method init (line 36) | def init do method loop (line 42) | def loop(pid) do class ExampleService (line 53) | defmodule ExampleService method request (line 68) | def request(_, _, _) do method error (line 72) | def error(_msg, "oops") do class ExampleServer (line 77) | defmodule ExampleServer method request (line 80) | def request(%{topic: "example.good", body: body}) do method request (line 84) | def request(%{topic: "example.error"}) do method request (line 88) | def request(%{topic: "example.raise"}) do method error (line 92) | def error(_msg, "oops") do method error (line 96) | def error(_msg, %RuntimeError{message: "oops"}) do method error (line 100) | def error(msg, other) do class CheckForExpectedNatsServers (line 136) | defmodule CheckForExpectedNatsServers method check (line 137) | def check(tags) do method check_for_default (line 142) | def check_for_default do method check_for_tag (line 157) | def check_for_tag(:multi_server) do method check_for_tag (line 242) | def check_for_tag(_), do: :ok