diff --git a/lib/nerves_hub_link.ex b/lib/nerves_hub_link.ex index af1c5c6..00dabf1 100644 --- a/lib/nerves_hub_link.ex +++ b/lib/nerves_hub_link.ex @@ -53,6 +53,6 @@ defmodule NervesHubLink do @doc """ Send a file to the connected console """ - @spec send_file(Path.t()) :: :ok + @spec send_file(Path.t()) :: :ok | {:error, :too_large | File.posix()} defdelegate send_file(file_path), to: Socket end diff --git a/lib/nerves_hub_link/socket.ex b/lib/nerves_hub_link/socket.ex index bd0d3ee..288ac56 100644 --- a/lib/nerves_hub_link/socket.ex +++ b/lib/nerves_hub_link/socket.ex @@ -49,6 +49,7 @@ defmodule NervesHubLink.Socket do GenServer.call(__MODULE__, {:check_connection, type}) end + @spec send_file(Path.t()) :: :ok | {:error, :too_large | File.posix()} def send_file(file_path) do GenServer.call(__MODULE__, {:send_file, file_path}) end diff --git a/lib/nerves_hub_link/upload_file.ex b/lib/nerves_hub_link/upload_file.ex index e21fc37..4d33788 100644 --- a/lib/nerves_hub_link/upload_file.ex +++ b/lib/nerves_hub_link/upload_file.ex @@ -18,6 +18,7 @@ defmodule NervesHubLink.UploadFile do defstruct [:file_path, :socket_pid] end + @spec start_link(Path.t(), pid()) :: GenServer.on_start() def start_link(file_path, socket_pid) do GenServer.start_link(__MODULE__, file_path: file_path, socket_pid: socket_pid) end @@ -38,7 +39,7 @@ defmodule NervesHubLink.UploadFile do :ok = Socket.start_uploading(state.socket_pid, filename) - File.stream!(state.file_path, [], 1024) + File.stream!(state.file_path, 1024) |> Stream.with_index() |> Stream.each(fn {chunk, index} -> :ok = Socket.upload_data(state.socket_pid, filename, index, chunk)