Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

リファクタリング(プログラムの構成) #8

Open
5 tasks
SegaraRai opened this issue Jun 6, 2019 · 1 comment
Open
5 tasks

リファクタリング(プログラムの構成) #8

SegaraRai opened this issue Jun 6, 2019 · 1 comment

Comments

@SegaraRai
Copy link
Owner

現在は LibMergeFS がマウント機能を提供していて、各クライアントそれぞれが DLL を読み込んで各自でマウントを作成しているが、マウントを管理するホストプログラム(Windows のサービスのようなもの)とそれのUIを提供するクライアントプログラムという構成のほうが良い。
(今そうなっていないのはプロセス間通信の実装に手間取りそうだったため。)

TODOリスト

  • プロセス間通信を調べる
  • 現在のクライアントプログラム(MergeFSMC など)の形でホストプログラムを作る
  • (LibMergeFS と似た API でホストプログラムへの通信用ライブラリを作る)
  • クライアントプログラムの LibMergeFS の使用をホストプログラムへの通信に変更する
  • (LibMergeFS をスタティックライブラリに変更する)
@SegaraRai
Copy link
Owner Author

加えて、今はスレッドで複数のDokanMainを呼び出しているが、これをスレッドを使わずプロセス単位で分けると見通しや性能が良くなりそう。

ワーカープログラムを作成する場合、以下を実装する必要がある。

  • DokanMain 成功の可否を返す
  • 終了コマンドを受け付ける
  • マウントに必要な情報を受け取る
    • 形式は JSON で大丈夫だろうが、割と長くなりそうなので直接引数に入れる以外の方法を検討したい

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

No branches or pull requests

1 participant