{"id":13806863,"url":"https://github.com/OneManCrew/vertx-tftp-client","last_synced_at":"2025-05-13T23:33:38.098Z","repository":{"id":49961647,"uuid":"239981668","full_name":"OneManCrew/vertx-tftp-client","owner":"OneManCrew","description":"TFTP client for vertx","archived":false,"fork":false,"pushed_at":"2021-06-07T18:41:13.000Z","size":51,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-08-04T01:06:55.116Z","etag":null,"topics":["async","asynchronous","maven","tftp","tftp-client","tftp-protocol","vertx","vertx3"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OneManCrew.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-12T10:10:09.000Z","updated_at":"2023-07-17T03:12:23.000Z","dependencies_parsed_at":"2022-09-02T19:41:31.906Z","dependency_job_id":null,"html_url":"https://github.com/OneManCrew/vertx-tftp-client","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OneManCrew%2Fvertx-tftp-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OneManCrew%2Fvertx-tftp-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OneManCrew%2Fvertx-tftp-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OneManCrew%2Fvertx-tftp-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OneManCrew","download_url":"https://codeload.github.com/OneManCrew/vertx-tftp-client/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225267422,"owners_count":17447153,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["async","asynchronous","maven","tftp","tftp-client","tftp-protocol","vertx","vertx3"],"created_at":"2024-08-04T01:01:17.220Z","updated_at":"2024-11-18T23:30:31.768Z","avatar_url":"https://github.com/OneManCrew.png","language":"Java","funding_links":[],"categories":["Integration"],"sub_categories":[],"readme":"# Vert.x TFTP Client\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Maven Central](https://img.shields.io/maven-central/v/io.github.onemancrew/vertx-tftp-client.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22io.github.onemancrew%22%20AND%20a:%22vertx-tftp-client%22)\n[ ![Download](https://api.bintray.com/packages/onemancrew/vertx/vertx-tftp-client/images/download.svg?version=1.0) ](https://bintray.com/onemancrew/vertx/vertx-tftp-client/1.0/link)\n\nvertx-tftp-client is a simple  async tftp client which works with vert.x v3.\n\nThe Following Java project implements the TFTP protocol and builds a TFTP client. Scope of the client is to upload and download files from a remote TFTP server.\nI have used Vert.x to implement this project as asynchronously.\n\nTo use this component, add the following dependency to the dependencies section of your build descriptor:\n\nMaven (in your pom.xml):\n````\n\u003cdependency\u003e\n  \u003cgroupId\u003eio.github.onemancrew\u003c/groupId\u003e\n  \u003cartifactId\u003evertx-tftp-client\u003c/artifactId\u003e\n  \u003cversion\u003e1.0\u003c/version\u003e\n\u003c/dependency\u003e\n````\nGradle:\n````\nimplementation 'io.github.onemancrew:vertx-tftp-client:1.0'\n````\nivy:\n````\n\u003cdependency org=\"io.github.onemancrew\" name=\"vertx-tftp-client\" rev=\"1.0\"\u003e\n\t\u003cartifact name=\"vertx-tftp-client\" ext=\"pom\"\u003e\u003c/artifact\u003e\n\u003c/dependency\u003e\n````\n#### Creating TFTP Client\n````\nVertx vertx = Vertx.vertx();\nTftpClient client =new TftpClient(vertx,tftpServerIp,port);//default port 69\n``````\n\n#### Upload files\n````\nclient.upload(\"filePath\",(progress)-\u003e{\n    //progress will update every change in the upload progress.\n    },\n    (result)-\u003e{\n    if (result.succeeded()) {\n        System.out.println(\"upload succeeded\");\n      } else {\n        System.out.println(\"error upload file\" + result.cause().getMessage());\n      }\n});\n````\n\n#### Download file\n````\nclient.download(fileName,downloadFoler,(result)-\u003e{\n    (result)-\u003e{\n        if (result.succeeded()) {\n            System.out.println(\"download succeeded\");\n          } else {\n            System.out.println(\"error download file\" + result.cause().getMessage());\n          }\n});\n````\n#### Error Code Description\nIn case of TttpError Exception this id the description for each error code:\n\n| ErrorCode |            Description            |\n|:---------:|:---------------------------------:|\n|     1     | File not found.                   |\n|     2     | Access violation.                 |\n|     3     | Disk full or allocation exceeded. |\n|     4     | Illegal TFTP operation.           |\n|     5     | Unknown transfer ID.              |\n|     6     | File already exists.              |\n|     7     | No such user.                     |\n\n#### TFTP Upload Protocol:\n![Upload diagram](upload.svg)\n\n#### TFTP Download Protocol:\n![Download diagram](download.svg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOneManCrew%2Fvertx-tftp-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FOneManCrew%2Fvertx-tftp-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOneManCrew%2Fvertx-tftp-client/lists"}