Packages
gnat
1.10.1
1.16.0
1.15.2
1.15.1
1.15.0
1.14.1
1.14.0
1.14.0-rc1
1.14.0-rc0
1.13.1
1.13.0
1.12.1
1.12.0
1.11.1
1.11.0
1.10.2
1.10.2-rc1
1.10.2-rc0
1.10.1
1.10.0
1.9.1
1.9.0
1.8.5
1.8.4
1.8.3
1.8.2
1.8.1
1.7.1
1.7.0
1.6.0
1.5.2
1.5.1
1.5.0
1.4.0
1.3.0
1.3.0-rc0
1.2.1
1.2.0
1.1.3
1.1.2
1.1.1
1.1.0
1.0.1
1.0.0
0.7.0
0.6.1
0.6.0
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.2
0.4.1
0.4.0
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.0
0.1.3
0.1.2
0.1.1
0.1.0
A nats client in pure elixir. Resilience, Performance, Ease-of-Use.
Current section
Files
Jump to
Current section
Files
lib/gnat/services/wire_protocol.ex
defmodule Gnat.Services.WireProtocol do
@moduledoc false
defmodule InfoResponse do
@moduledoc false
@info_response_type "io.nats.micro.v1.info_response"
@type endpoint :: %{
name: String.t,
subject: String.t,
metadata: map(),
queue_group: String.t
}
@type t :: %__MODULE__{
name: String.t,
id: String.t,
version: String.t,
description: String.t,
metadata: map(),
endpoints: [endpoint()],
type: String.t
}
@derive Jason.Encoder
@enforce_keys [:name, :id, :version]
defstruct [
:name,
:id,
:version,
:metadata,
:description,
endpoints: [],
type: @info_response_type
]
end
defmodule PingResponse do
@moduledoc false
@ping_response_type "io.nats.micro.v1.ping_response"
@type t :: %__MODULE__{
name: String.t,
id: String.t,
version: String.t,
metadata: map()
}
@derive Jason.Encoder
@enforce_keys [:name, :id, :version]
defstruct [
:name,
:id,
:version,
:metadata,
type: @ping_response_type
]
end
defmodule StatsResponse do
@moduledoc false
@stats_response_type "io.nats.micro.v1.stats_response"
@type endpoint :: %{
name: String.t,
subject: String.t,
num_requests: integer,
num_errors: integer,
last_error: String.t,
processing_time: integer,
average_processing_time: integer,
queue_group: String.t,
data: map()
}
@type t :: %__MODULE__{
name: String.t,
id: String.t,
version: String.t,
metadata: map(),
started: String.t,
endpoints: [endpoint()],
type: String.t
}
@derive Jason.Encoder
@enforce_keys [:name, :id]
defstruct [
:name,
:id,
:version,
:metadata,
:started,
:endpoints,
type: @stats_response_type
]
end
end