Skip to content

Conversation

@nabijaczleweli
Copy link

These get fed into

%Package.Publish{
  topic: topic,
  qos: qos,
  payload: payload,
  retain: Keyword.get(opts, :retain, false)
}

then

encoded_publish = Package.encode(publish)

which matches

defmodule Tortoise.Package.Publish do
  defimpl Tortoise.Encodable do
    def encode(%Package.Publish{}) do
      [
        ...,
        Package.variable_length_encode([
          ...,
          payload
        ])
      ]

which already forms an iodata()

Testing confirms this result

Forwarded-from: gausby#148
Sponsored-by: https://beaverlabs.net

These get fed into
  %Package.Publish{
    topic: topic,
    qos: qos,
    payload: payload,
    retain: Keyword.get(opts, :retain, false)
  }
then
  encoded_publish = Package.encode(publish)
which matches
  defmodule Tortoise.Package.Publish do
    defimpl Tortoise.Encodable do
      def encode(%Package.Publish{}) do
        [
          ...,
          Package.variable_length_encode([
            ...,
            payload
          ])
        ]
which already forms an iodata()

Testing confirms this result

Forwarded-from: gausby#148
Sponsored-by: https://beaverlabs.net
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant