defmodule Test do
alias Wampex.{Realm, Session}
alias Wampex.Role.{Callee, Caller, Publisher, Subscriber}
+ require Logger
@url "ws://localhost:18080/ws"
@realm %Realm{name: "com.myrealm"}
Wampex.start_link(TestCaller, @session)
:timer.sleep(500)
- Wampex.send_request(
- TestCaller,
- Caller.call(
- "com.actuator.#{@device}.light",
- [1],
- %{
- color: "#FFFFFF"
- },
- %{}
+ resp =
+ Wampex.send_request(
+ TestCaller,
+ Caller.call(
+ "com.actuator.#{@device}.light",
+ [1],
+ %{
+ color: "#FFFFFF"
+ },
+ %{}
+ )
)
- )
+
+ Logger.info("Got Response: #{inspect(resp)}")
end
def subscribe do
Wampex.start_link(TestPublisher, @session)
:timer.sleep(500)
- Enum.each(1..10, fn _ ->
+ Enum.each(1..100, fn _ ->
Wampex.cast_send_request(
TestPublisher,
Publisher.publish("com.data.temp", [12.5, 45.6, 87.5], %{loc: "60645"}, %{})
{:ok,
%SL{
data
- | data: %Sess{sess | request_id: request_id, requests: [{request_id, nil} | sess.requests]}
+ | data: %Sess{sess | request_id: request_id}
}, []}
end
@impl true
def handle_resource("Abort", _, "Abort", data) do
- Logger.info("Aborting...")
{:ok, data, []}
end
"WaitForTransport",
data
) do
- Logger.info("Waiting for transport to connect...")
+ Logger.debug("Waiting for transport to connect...")
{:ok, %SL{data | data: %Sess{data.data | roles: [Peer | data.data.roles]}}, []}
end
@impl true
def handle_resource("Established", _, "Established", data) do
- Logger.info("Session #{data.data.id}")
{:ok, data, []}
end
"Event",
%SL{data: %Sess{name: name, event: event}} = sl
) do
- Logger.info("Received Event #{inspect(event)}")
+ Logger.debug("Received Event #{inspect(event)}")
sub = Wampex.subscriber_registry_name(name)
"Invocation",
%SL{data: %Sess{name: name, invocation: invocation}} = sl
) do
- Logger.info("Received Invocation #{inspect(invocation)}")
+ Logger.debug("Received Invocation #{inspect(invocation)}")
reg = Wampex.callee_registry_name(name)
Registry.dispatch(reg, elem(invocation, 2), fn entries ->
@impl true
def handle_resource(resource, _, state, data) do
- Logger.info("No specific resource handler for #{resource} in state #{state}")
+ Logger.error("No specific resource handler for #{resource} in state #{state}")
{:ok, data, []}
end
@impl true
def handle_connect(%Conn{host: h, port: p, path: pa, query: q} = _conn, state) do
- Logger.info("Connected to #{h}:#{p}#{pa}?#{q}")
+ Logger.debug("Connected to #{h}:#{p}#{pa}?#{q}")
Process.send_after(self(), :ping, @ping_interval)
send(state.session, {:connected, true})
{:ok, %{state | connected: true}}
@impl true
def handle_cast({:send_request, data}, %{serializer: s} = state) do
- Logger.info("Sending Request #{inspect(data)}")
+ Logger.debug("Sending Request #{inspect(data)}")
{:reply, {s.data_type(), s.serialize!(data)}, state}
end
@impl true
def handle_frame({type, message}, %{serializer: s} = state) do
message = s.deserialize!(message)
- Logger.info("Received #{type} data: #{inspect(message)}")
+ Logger.debug("Received #{type} data: #{inspect(message)}")
send(state.session, {:set_message, message})
{:ok, state}
end