Coder Social home page Coder Social logo

erlang-mqtt's Issues

Documentation needed for MQTT.Server

I'm having trouble running the server. I'm running mix test with the following test in it:

defmodule MyMqttServerTest do
  use ExUnit.Case
  alias MQTT.Client

  test "greets the world" do
    {:ok, connection, false} = MQTT.Client.connect(%{
        transport: {:tcp, %{host: "localhost", port: 1883}},
        client_id: UUID.uuid1()
    })

    topic = "/hello"
    message = "hello"

    {:ok, [{^topic, 0}]} = Client.subscribe(connection, [{topic, 0}])
    :ok = Client.publish(connection, topic, message)

    assert_receive {:mqtt_client, ^connection, {:publish, ^topic, ^message, _}}

    :ok = Client.disconnect(connection)
  end
end

Child process:

%{
  id: MyMqttServer,
  type: :worker,
  start: {MyMqttServer, :start_link, [[:hello]]}
}
defmodule MyMqttServer do
  use MQTT.Server

  def start_link(state) do
    GenServer.start_link(__MODULE__, state, name: __MODULE__)
  end

  def init(stack) do
    {:ok, stack}
  end

  def init(stack, _) do
    {:ok, stack}
  end
  
  def handle_subscribe(_topic, _qos, state) do
    IO.inspect("I never get output")
    {:ok, state}
  end
end

It seems to be running but I can't seem to override the fun? I'm still relatively new to this so apologies if this is a simple question.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.