GithubHelp home page GithubHelp logo

todorokikohei / mqttv5-client Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 5.41 MB

MQTT Version5.0のクライアント実装を拡張する

License: Other

HTML 0.55% Java 99.36% Shell 0.06% Batchfile 0.02% Dockerfile 0.01%

mqttv5-client's Issues

コンテナ環境での評価クライアントの実装

大量のデータ処理を実行するクライアントでの実行結果記録処理を実装

  • パブリッシャとサブスクライバの実装分離

    • 引数でパブリッシャ,サブスクライバを指定
  • サブスクライバの実装

    • 処理したデータの記録処理
    • 実行結果を非同期にファイル出力する処理
    • PINGREQ送信時の処理状況の記録処理
  • パブリッシャの実装

    • Executerを利用した指定帯域での送信処理

PINGREQで送信できるデータを拡張する

PINGREQにSubscriberの情報を付加することでBrokerの分散配信を高度化する。そのために、以下のタスクを実行する。

  • PINGREQのペイロードに任意のデータを送信できるようにする

送信データ取得の実装

  • キュー内のメッセージ数とメッセージ処理時間を取得する手段を実装
  • PINGREQのペイロードに上記2つのデータをJSON形式で設定して送信する処理を実装

パケットフォーマットの拡張

PINGREQに任意のデータを付加できるようにする。

  • ペイロードの追加
  • 可変ヘッダの追加
  • UserPropertyを可変ヘッダに追加可能に

PINGREQの送信タイミングを拡張する

PINGREQを一定間隔で送信してBrokerとの情報交換を実現する。そのために、以下のタスクを実行する。

  • PINGREQの送信タイミングの確認
  • 一定間隔でPINGREQを送信を実装
  • パラメータでPINGREQの送信間隔を設定可能に

拡張したPINGREQで分散配信を制御できるかを検証する

PINGREQのペイロードに送信可能かを識別するフラグを付加して送信する実装を行った。このフラグが正常に働くかを確認するために、以下の作業を実施する。

  • 複数のサブスクライバで共有サブスクリプションを実行する検証アプリを実装
  • PINGREQのペイロードをメインスレッドから動的に変更するためのインターフェースを実装
  • 途中で1台のサブスクライバを送信不可能にして検証

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.