Weddell v0.1.5 Weddell.Client View Source

A persistent process responsible for interacting with Pusub over GRPC.

Link to this section Summary

Types

Option value used when connecting a client

Option values used when connecting clients

A cursor used for pagination of lists

An RPC error

Option value used when retrieving lists

Option values used when retrieving lists

Option values used when publishing messages

Options used when publishing messages

Option values used when pulling messages

Options used when pulling messages

Option values used when creating a subscription

Options used when creating a subscription

t()

A Weddell client

Functions

Returns a specification to start this module under a supervisor.

Connect to a Pub/Sub server and return a client.

Callback implementation for GenServer.init/1.

Start the client process and connect to Pub/Sub using settings in the application config.

Link to this section Types

Link to this type

connect_option()

View Source
connect_option() ::
  {:host, String.t()}
  | {:port, pos_integer()}
  | {:scheme, :http | :https}
  | {:ssl, [:ssl.ssl_option()]}

Option value used when connecting a client

Link to this type

connect_options()

View Source
connect_options() :: [connect_option()]

Option values used when connecting clients

A cursor used for pagination of lists

An RPC error

Link to this type

list_option()

View Source
list_option() :: {:max, pos_integer()} | {:cursor, cursor()}

Option value used when retrieving lists

Link to this type

list_options()

View Source
list_options() :: [list_option()]

Option values used when retrieving lists

Link to this type

publish_option()

View Source
publish_option() :: {:attributes, %{optional(String.t()) => String.t()}}

Option values used when publishing messages

Link to this type

publish_options()

View Source
publish_options() :: [publish_option()]

Options used when publishing messages

Link to this type

pull_option()

View Source
pull_option() ::
  {:return_immediately, boolean()} | {:max_messages, pos_integer()}

Option values used when pulling messages

Link to this type

pull_options()

View Source
pull_options() :: [pull_option()]

Options used when pulling messages

Link to this type

subscription_option()

View Source
subscription_option() ::
  {:ack_deadline, pos_integer()} | {:push_endpoint, String.t()}

Option values used when creating a subscription

Link to this type

subscription_options()

View Source
subscription_options() :: [subscription_option()]

Options used when creating a subscription

Link to this type

t()

View Source
t() :: %Weddell.Client{channel: GRPC.Channel.t(), project: String.t()}

A Weddell client

Link to this section Functions

Returns a specification to start this module under a supervisor.

See Supervisor.

Link to this function

connect(project, opts \\ [])

View Source
connect(project :: String.t(), opts :: connect_options()) :: {:ok, t()}

Connect to a Pub/Sub server and return a client.

Example

Weddell.Client.connect("project-name",
                      scheme: :https,
                      host: "pubsub.googleapis.com",
                      port: 443,
                      ssl: [cacerts: :certifi.cacerts()])
#=> {:ok, client}

Options

  • scheme - The scheme to use when connecting to the Pub/Sub service. (default: :https)
  • host - The Pub/Sub host to connect to. This defaults to Google's Pub/Sub service but is useful for connecting to a local Pub/Sub emulator (default: "pubsub.googleapis.com")
  • port - The port on which to connect to the host. (default: 443)
  • ssl - SSL settings to be used when connecting with the :https scheme. See ssl_option() in the ssl documentation. (default: [cacerts: :certifi.cacerts()])

Callback implementation for GenServer.init/1.

Start the client process and connect to Pub/Sub using settings in the application config.

Example

In your application config:

config :weddell,
  scheme: :http,
  host: "localhost",
  port: 8085,
  project: "test-project"

Settings

  • project - The required Google Cloud project that will be used for all calls made by this client.
  • scheme - The scheme to use when connecting to the Pub/Sub service. (default: :https)
  • host - The Pub/Sub host to connect to. This defaults to Google's Pub/Sub service but is useful for connecting to a local Pub/Sub emulator (default: "pubsub.googleapis.com")
  • port - The port on which to connect to the host. (default: 443)
  • ssl - SSL settings to be used when connecting with the :https scheme. See ssl_option() in the [ssl documentation] (http://erlang.org/doc/man/ssl.html). (default: [:cacerts: :certifi.cacerts()])