Revisions in net.kumaryu.peercaststation

Tags

Revisions

RevisionDateChangeLog
f0a63b8389... 2012-02-11 16:27 GUIのStopでスレッドに関係なくWindows.Forms.Applicationを終了させていたので、ExitThreadでGUIスレッドのみ終了させるようにした。
e6fc892f5f... 2012-02-11 16:21 UIのOLEスレッドアパートメントをSTAにしないと日本語入力ができないことがあったので、デフォルトのMTAでなくSTAを明示するようにした。
64b07423c4... 2012-02-11 16:02 PeerCast.ContentReadersが空だったのでASFとRAWはPeerCastStation.exe起動時に追加しておくようにした。
c16bfdbf50... 2012-02-11 15:57 PeerCast.LocalEndPointやPeerCast.GlobalEndPointプロパティは接続目的やプロトコルによって変わるポート番号を取得できないので廃止し、かわりにGetLocalEndPointとGetGlobalEndPointメソッドを追加した。
PeerCast.FindConnectableEndPointは名前が長いのでGetEndPointに変更した。
a08189e9f6... 2012-02-09 00:19 PeerCastに適切な接続可能EndPointを選択するFindConnectableEndPointを追加した。
次に接続するホストを選択するChannelのSelectSource*は使用する場所によって細かく変わるので削除し、PCPOutputStreamとPCPSourceStream内に新しく作り直した。
e71d7ac5f8... 2012-01-28 17:46 PeerCastStation.exeの実行ファイルアイコンを設定した。
3cfff0f8a8... 2012-01-28 17:06 配信時の掲載YP選択でYPに掲載しないを選べるようにした。
cd9b4b3a0d... 2012-01-28 16:57 YP設定ダイアログのレイアウトを修正した。
05b2f3df3e... 2012-01-28 16:56 ポート毎の接続設定許可とチャンネル毎の視聴・リレー数を追加した。
57cb5374d8... 2012-01-26 14:52 OutputListener毎に接続許可をする出力ストリームタイプを設定できるようにし、対応するタイプを持つ出力プロトコルしか接続できないようにした。
5bdf24f3ff... 2012-01-24 06:27 Visual Studio 2008でもビルドできるようにソリューションとプロジェクトを修正した。
f6b8e6bcdb... 2012-01-23 11:39 PeerCastStation.UI.HTTPのテストを追加してある程度動くようにした。
85773accf1... 2012-01-23 11:38 HTTPリクエストヘッダのパラメータ名は大文字小文字の区別をしないので大文字に統一するようにした。
da527c57a6... 2012-01-23 11:36 AddContentReaderのはずのメソッドがAddYellowPageになっていたのを修正した。
4bab3e522c... 2012-01-23 11:16 テスト用にChannelのコンストラクタで接続先の名前解決が失敗しても例外を投げないようにした。
6c600e3e98... 2012-01-04 13:58 HTTP経由のユーザインターフェースとしてPeerCastStation.UI.HTTPアセンブリを追加した。
2082fe9050... 2012-01-04 13:57 C#3でもコンパイルできるように不要だったデフォルト引数を使わないようにした。
bc498a3560... 2012-01-04 13:56 UI用のOutputStreamを区別できるようにOutputStreamTypeにInterfaceを追加した。
6355ea0601... 2012-01-04 13:56 PeerCastインスタンスの稼動時間を取得するためのPeerCast.Uptimeプロパティを追加した。
0e91d13200... 2012-01-04 13:55 テスト用にOutputStreamの終了待ちをしたかったのでOutputStreamBaseにJoinを追加した。
b219d9a4b1... 2012-01-04 13:54 ホスト情報のExtraからホップ数、アップタイム、バージョン情報を取得できるメンバを追加した。
e680f12363... 2012-01-04 13:52 トラック情報におけるジャンルを表すPCP_CHAN_TRACK_GENREの扱いが抜けていたので追加した。
c8b2af9364... 2012-01-02 12:38 GUIは別AppDomainで起動するようにしていたが無駄だったのでやめた。
65ca284d2b... 2012-01-02 02:51 PCPSourceStreamで接続先検索をする際にリレー可能なホストのみを検索すると直下がいっぱいなだけで繋がらなくなってしまうので、リレー可能でないホストにも接続できるようにした。
d21173d807... 2012-01-02 02:48 HTTPリクエストのヘッダは大文字小文字の区別が無いのが正しいため、大文字小文字の無視をし、メソッドは大文字に統一するようにした。
faa25788d7... 2012-01-02 02:47 CreateChannelIDはUIで共有して使うのでGUIからUtilsに移動した。
6be1bc41bb... 2012-01-02 02:46 GUI側にContentReaderのリストを持たせていたが、UI全般で共有する必要があるためPeerCastクラスに移動した。
195f6188a9... 2012-01-02 02:40 現在のアプリケーションとそこからPeerCastインスタンスを取得できるようにするため、IApplicationをPeerCastApplication抽象クラスに変更しCurrentメンバを持たせるようにした。
df9bb6318f... 2011-11-13 12:52 ProperyChangedEventArgsとCollectionChangedEventArgsがシリアライズ可能でなかったのでINotifyPropertyChangedやINotifyCollectionChangedインターフェースは使わずに時前のイベントを用意した。
3abf2148f1... 2011-11-12 15:20 PeerCastStation.GUIをプラグイン化したことでいらなくなったコードを削除した。
b1dccd3b43... 2011-11-12 15:09 各クラスがAppDomainの境界を越えられるようにシリアライズ方法を指定した。
01f8b025ec... 2011-11-12 14:38 UI系をプラグイン化するためPeerCastStation.exeを追加した。
PeerCastStation.GUIをdllのプラグイン化してみた。
a651215e13... 2011-10-23 14:52 通知アイコンダブルクリックでGUIを開くようになっていなかったので開くようにした。
2a2562eb87... 2011-10-23 14:36 ContentCollectionの保持するパケット数が多かったのでWMVのストリームでだいたい1秒に相当すると思われる10パケットに減らしてみた。
b06613cdf8... 2011-10-23 14:35 PeerCastStation.GUI起動時に-urlでpeercast://のURLが渡されていたら指定されたチャンネルを開くようにした。
PeerCastStation.GUI起動時に複数起動チェックをするようにし、-urlオプションでURLが渡されたら既に起動しているPeerCastStation.GUIに転送するようにした。
4c65142767... 2011-10-22 13:23 AtomのPort番号関係の入出力をshortにしていたが、32767を越える番号を使用した時に負値になってしまうので内部的にushortで入出力しインターフェースはintで扱うようにした。
912558cb32... 2011-10-16 13:00 ファイルバージョンをちょこっと上げた。
f441adbb38... 2011-10-16 12:52 ドキュメントに変更履歴を追加した。
5887bc7973... 2011-10-16 12:51 rbprojにゴミが入ってしまっていたので修正した。
d467348404... 2011-10-16 12:45 PCPOutputStreamでリクエスト時のx-peercast-posヘッダがあった場合はそれを尊重し、指定した場所からコンテンツを検索して送るようにした。
c462868a3b... 2011-10-16 12:36 PCPOutputStreamで次に接続すべきホストを返すのに、直下で受信中でリレー可能、直下でリレー可能、直下の順に優先度をつけて検索するようにした。
a5c207074b... 2011-10-16 12:33 各種テストが通らなくなっていたので修正し、ちょっと追加もした。
5ee45bb916... 2011-10-16 12:32 PCPYellowPageClient.FindTracerでのエラー時にSocketExceptionだけ無視していたのでIOExceptionも無視するようにした。
57727946e2... 2011-10-16 12:30 PCPSourceStreamで接続先を選択する際にリレー可能なホストのみ選択するようにした。
874b5e5bd3... 2011-10-16 12:29 GUIで再生ボタンを押したときに開くプレイリストURLに拡張子をつけるようにした。
39f151250c... 2011-10-16 12:27 チャンネルの接続先選択時にリレー可能なホストのみ選択できるようにした。
35ac37e291... 2011-09-28 23:06 接続先選択時に直下接続や受信中のホストのみを選択できるようにした。
c18dd6bb83... 2011-09-24 16:41 PeerCastStation.HTTPとPeerCastStation.PCPのファイルバージョンを上げた。
a42cf488a1... 2011-09-24 16:40 PCPYellowPageClientの動作が実行中によくわからなかったので、ログを出すようにした。
9dad29f7ff... 2011-09-24 16:02 HTTPOutputStreamが停止した際にチャンネルに追加したイベントを削除していなかったためメモリリークしていたので、ちゃんと外すようにした。
f4677f718e... v0.6.0 2011-09-22 12:25 簡単なドキュメントを追加した。
3a50a5a3e0... 2011-09-21 13:39 PeerCastStation.GUIに各アセンブリのバージョン表示ダイアログを追加した。
各アセンブリのバージョン番号をあらためて設定した。
caa2795e0a... 2011-09-21 07:18 プレイリストによって適切な文字コードが変わるためCreatePlayListは文字コード変換済みのバイト列を返すようにした。
ASXPlaylistのCreatePlayListはシステム標準のコードページでエンコードするようにした。
0574aa2885... 2011-09-21 06:57 GUIのリレーツリー作成で無限ループすることがあったので既に追加したノードを記憶してループしないようにした。
7e58659bbd... 2011-09-19 22:50 下流リストとリレーツリーの表示を修正した。
73857738e0... 2011-09-19 22:07 HTTPOutputStreamでtipクエリがエスケープされていても正しく処理できるようにした。
68d8ff5833... 2011-09-19 22:05 PeerCast.GlobalAddressに値を入れるときに、既に設定されているアドレスより範囲が狭いアドレスは入れないようにした。
39460a07d9... 2011-09-17 02:09 Channelに現在保持している全ノード情報から総リレー数と総視聴数を取得するTotalRelaysとTotalDirectsを追加した。
合わせてOutputStreamCollectionにあったCountRelayingとCountPlayingをそれぞれChannel.LocalRelaysとChannel.LocalDirectsに変更した。
959ab8bb38... 2011-09-14 23:07 ContentCollectionは複数スレッドから同時アクセスされるので、内部でロックしてスレッドセーフになるようにした。
2bb3c0abe8... 2011-09-14 22:36 GUIでチャンネル情報編集中にチャンネル情報が更新されないように、チャンネル情報は変更された分だけGUIに反映するようにした。
bb36b35569... 2011-09-14 22:03 YellowPagesEditDialogもMacで文字化けしていたのでMacの場合はフォントをOsakaに強制するようにした。
92cd613d86... 2011-09-12 23:07 Channel.Nodesに同じホストが複数追加されてしまっていたので、AddNodeで同じセッションIDの物があれば上書きするようにした。
f4f4d9c0a0... 2011-09-11 13:17 PCPYellowPageClientでYPからチャンネル情報を正しく消すために、チャンネル終了時にチャンネル情報とホスト情報を受信無しで更新するようにした。
PCPYellowPageClientでのエラー処理を強化した。
c669edf766... 2011-09-11 13:13 PCPOutputStreamでリレー不可の場合にホスト情報を送る時に、IPアドレス情報をあとから正しくない情報で上書きしてしまっていたので、上書きしないようにした。
また、Contentのスキップが起きた場合に検出できるようにしておいた。
5eb40813ee... 2011-09-11 13:09 PeerCastStation.GUIでBroadcastIDも設定として保存するようにした。
26701af19c... 2011-09-11 13:07 SourceStreamBaseでイベント待ちかタイムアウトを待つ間にデータ送受信が完了する可能性があったので、データ送受信完了も待機終了条件に加えるようにした。
75d55e4f1f... 2011-09-11 13:05 ASFContentReaderでチャンク単位でデータを読めなかった場合に、データを読み捨ててしまっていたのを修正した。
ee544d5224... 2011-09-11 05:37 PCPYellowPageClientでPCP_OLEHパケットの処理を正しく行なっていなかったため、自分のグローバルアドレスを正しく取得していなかったので、PCP_OLEHの処理を追加した。
87453a6aae... 2011-09-09 14:00 Monoでビルドすると警告が出てたので、使用してない変数をいくらか削除した。
57bf610dc9... 2011-09-09 13:50 OutputStreamBase.OnStoppedがOutputStreamBase.Cleanupの前に呼ばれると、Cleanupの前に基になるストリームが閉じられることがあるのでCleanup後に呼ぶようにした。
2ac9cb15b4... 2011-09-05 22:59 HTTPSourceStream.Reconnectのテストがよくわからないことになっていたので少し修正した。
9774962652... 2011-09-05 22:47 PCPYellowPageClientのテストで一部通らないところがあったので修正した。
bc3b8226cc... 2011-09-05 22:28 IYellowPageClient関係のテストが通らなくなっていたので修正した。
1b375c83c6... 2011-09-05 22:28 Channel.BroadcastIDとBroadcastIDを指定できるコンストラクタのテストを追加した。
36e96e4eff... 2011-09-05 21:48 GUIをちょっと調整した。
5b70798b1e... 2011-09-05 21:47 GUIで初期ポート番号を7144に戻した。
8706d1f9ed... 2011-09-05 21:36 ASFContentReaderでASFChunkの長さが8バイトより短い時に読み込めていなかったのを対処した。
088875fc19... 2011-09-03 23:09 GUIにチャンネル情報を表示できるようにし、チャンネル一覧での情報も更新されるように修正した。
953a6cfffb... 2011-09-03 23:08 Channelに今自分が配信してるかどうかを判別するための情報としてトラッカーのBroadcastIDを持たせるようにした。
37aeb1e089... 2011-08-26 13:29 PCPYellowPageClientで配信しているチャンネルが全て終了したらRootへの接続も終了するようにした。
ed40c8e479... 2011-08-26 13:28 PeerCast.BroadcastChannelでYPにYPチャンネル情報を載せるようにした。
e662738c72... 2011-08-26 13:27 YP編集ダイアログの使い勝手を向上させた。
383c10d4fa... 2011-08-26 13:06 ComboBoxにIContentReaderのリストをバインドするとなぜかMonoで落ちるので落ちないようにラッパオブジェクトを作ってそれをバインドするようにしてみた。
d5bb2e2ca5... 2011-08-26 12:18 フォームのアイコンが正しく置き換えられていなかったので再度置き換えた。
82cc1eecf1... 2011-08-26 12:10 Monoでもビルド出来るように2008用プロジェクトにPeerCastStation.ASFを追加した。
cecbcffc12... 2011-08-26 12:07 Monoでビルドした際に256x256サイズが含まれているアイコンを使うと正しく実行できなくなるので一時的に256x256を含まないアイコンに差し替えた。
87426dba58... 2011-08-26 11:11 PeerCastStation.GUIにYPクライアントの設定管理を追加した。
PeerCastStation.GUIで配信時に載せるYPを設定できるようにした。
5c1aba64ec... 2011-08-26 11:09 PeerCastのYellowPageFactoriesが辞書になっている必要はないのでリストに変更した。
PeerCastのYellowPageClient管理メソッドを正式に整備した。
PeerCast終了時にYellowPageClientのAnnounceも終了するようにした。
0a1ef06409... 2011-08-19 12:43 PCPYellowPageClientにチャンネルをYPに載せるためのAnnounceメソッドを実装した。
Announceで必要な接続を管理するのにIYellowPageClientにStopAnnounceとRestartAnnounceを追加した。
03dd0de853... 2011-08-19 12:40 PCPSourceStreamのテストでPINGが正しく送信されていなかったのを修正した。
cd8f28b190... 2011-08-19 12:34 アイコンファイルが無かったので追加した。
fc49a37238... 2011-08-11 15:25 PeerCastStation.GUIにNotifyIconを追加してウィンドウを閉じても終了しないようにした。
ただしWindows以外ではOSXで未実装やGNOMEでアイコンが表示されないなど不安定なのでウィンドウを閉じたら終了するようにした。
1b8e15bd60... 2011-08-11 15:21 AtomCollectionはObservableCollectionから派生する必要が無かったのでCollectionから派生するように変更した。
7f19352daf... 2011-08-09 23:01 GUIから配信開始できるようにした。
783e552688... 2011-08-08 22:38 PCPSourceStream.Startが非同期で行なわれるように変更した。
PCPSourceStreamのテストが内部構造に依存していたので動作のテストをするように書き直した。
77afb88046... 2011-07-28 14:40 IContentReaderはプロパティでContentTypeを指定するのではなくChannelInfoにContentTypeを返すようにしたのでプロパティは名前だけにした。
ASFContentReaderが常にWMVを返していたのを、ストリームの中身を見てWMVかWMAかASFを返すようにした。
4a812b61f2... 2011-07-28 11:32 PeerCast.BroadcastChannelのテストを追加した。
91175ad16a... 2011-07-28 11:14 ASFContentReaderのテストに正しくChannelInfo.ContentTypeを設定しているかのテストを追加した。
313656eeea... 2011-07-28 11:12 RawContentReaderもヘッダ取得時にChannelInfo.ContentTypeも設定するようにした。
ad7bb031cf... 2011-07-28 11:02 ASFContentReaderでヘッダ受信時にChannelInfoにContentTypeを設定するようにした。
50203d9c35... 2011-07-28 11:01 PeerCast.Broadcastを実装し配信開始できるようにした。
bf08b9aabb... 2011-07-28 11:00 ISourceStream.StartはIOutputStreamと合わせて内部で独自にスレッドを立てる仕様にした。
73e019cb2e... 2011-07-23 23:05 ASFコンテントを解析するためのASFContentReaderを追加した。
a7c67ca3e1... 2011-07-18 22:00 コンテンツのストリームからの読み取りを実現するためにIContentReaderを追加した。
配信用にISourceStreamFactory.CreateにIContentReaderを受け取るオーバーロードを追加した。
ストリームから読み取った生のバイナリデータを流すだけのRawContentReaderを追加した。
f5d8402491... 2011-07-15 13:17 配信のためにまずHTTPでストリームデータを取得するHTTPSourceStreamを作って追加した。
180abf6f2f... 2011-07-04 22:05 IYellowPageがイエローページへアクセスするクライアントであることを明示するためIYellowPageClientに名前を変更し、関連するクラスもそれに従った。
a6bcd534fb... 2011-07-02 08:18 PCPのYellowPageと通信するためのPCPYellowPageクラスを追加し、まずはFindTrackerだけ実装した。
89103a8af2... 2011-07-02 08:15 PCP_HOSTのAtomからIPEndPointのリストを簡単に取得できるようにAtomCollectionExtensionsにGetHostEndPointsを追加した。
2d84bc4347... 2011-07-02 08:14 IYellowChannel.ListChannelsは今のところ使用しないので削除した。
6fa5cada74... 2011-06-29 22:16 Hostを不変オブジェクトにしたつもりがプロパティを設定し放題のままだったので、プロパティのセッタをprivateにした。
d6d8b0a2e7... 2011-06-29 22:10 PCPでHostのTrackerかどうかをやりとりしていなかったので正しく扱うよう修正した。
174fad2d60... 2011-06-29 21:42 HostにPCPのPCP_HOST_FLAGS1_TRACKERに相当するメンバが無かったのでIsTrackerを追加した。
140df37c1f... 2011-06-27 21:52 PeerCast.csにライセンス文がついていなかったので追加した。
8918489495... 2011-06-27 21:51 PeerCastStation.Core/Core.csに入ってたクラスを適切なファイルに移動した。
38567e6e8c... 2011-06-27 21:32 PCPPongOutputStreamのテストを内部に依存しない形に修正した。
a0760e12c0... 2011-06-27 21:31 TestPCP/utils.rbでrequireする物が足りていなかったので追加した。
2b082bd14f... 2011-06-27 21:08 TestPCPのテスト中に使用するユーティリティクラスやメソッドをTestPCP/utils.rbに分離した。
dc89948ac2... 2011-06-26 12:31 PCPOutputStreamのテストをあまり内部構造に依存しない仕様のテストに書き換えて、テストを通るようにした。
53bc316b63... 2011-06-16 21:26 HTTPOutputStreamのテストが内部のテストも多く含まれていたので挙動だけをテストするように書き直した。
85307d0448... 2011-06-16 21:26 OutputStreamのテストでNetworkStreamでないストリームを使って構築した場合に入出力用のストリームが一つになっていると同時に読み書きできないので、OutputStreamには入出力のストリームを別に渡せるようにした。
4740cce280... 2011-06-12 21:52 OutputStreamBase.csにライセンス文を追加した。
1f5b3049b9... 2011-06-12 21:51 OutputStreamBaseに送受信の機構をまとめ、各OutputStreamではそれを使うようにした。
9a0477c2d5... 2011-06-12 20:50 IOutputStream.Startを非同期で動作開始するようにし、終了検出をするためにIOutputStream.Stoppedイベントを追加した。
Stoppedイベントを実装するにあたって、OutputStreamの実装ベースになるOutputStreamBaseを追加した。
71e62bcb5f... 2011-06-08 21:00 IOutputStreamとISourceStreamのCloseメソッドをStartに対応させるためStopに変更した。
合わせてPeerCast.CloseもPeerCast.Stopに名称変更した。
3dffaee0ee... 2011-06-06 22:58 各コレクションの書き込み時コピーをロックフリーにしてスレッドセーフとした。
メインスレッドへの同期をやめるためPeerCast.SynchronizationContextを削除した。
539721be05... 2011-06-05 07:20 QueuedSynchronizationContextでメッセージが追加されるまで待つことができるように、メッセージが追加されたときにSetされるイベントハンドルを追加した。
27926e100d... 2011-06-01 21:47 Channel.Nodesを読み取り専用にし、追加削除はChannel.AddNodeとRemoveNodeを経由して行なうようにした。
23cf8c6ebd... 2011-05-31 22:49 Channel.OutputStreeamsをReadOnlyにしてChannelのAddOutputStreamとRemoveOutputStreamで追加削除するようにした。
5da648d01e... 2011-05-30 23:03 PeerCast.ChannelsとPeerCast.OutputStreamsを読み取り専用のコレクションを返すようにし、追加削除用のメソッドでは変更時にコピーするようにした。
4756fd1347... 2011-05-30 22:03 PeerCastStation.Core.ChannelInfoをChannelInfoとChannelTrackに分割し、AtomCollectionのラッパになる形でimmutableとした。
ChannelIDがChannelInfoに入らなくなったのでChannelにうつした。
adcbc8c159... 2011-05-29 20:54 PeerCastStation.Core.Hostを書き換えられないように不変なクラスにした。
Hostの構築が面倒になったので構築用のHostBuilderクラスを追加した。
439006e41b... 2011-05-18 22:28 Atomをimmutableにするため、Atom.Childrenとして読み取り専用のAtomCollectionを保持するようにした。
6b25b767ab... 2011-05-16 22:13 AtomCollectionにコピーコンストラクタを追加した。
ac974fcdac... 2011-05-16 21:46 不変なクラスにAtomCollectionを持たせた時に不変なままにできるように、読み取り専用のReadOnlyAtomCollectionを追加した。
その際にAtomCollectionExtensionsの拡張メソッド付加先をIAtomCollectionにしたらIronRubyが反応してくれなくなったので、反応できるようにテストコードに小細工を入れた。
e628bbca6d... 2011-05-14 10:54 なぜかプロジェクトファイルなどが更新されていたので入れておいた。
58a3ec13f7... 2011-05-14 10:52 Core.csが長過ぎたのでPeerCastクラスをPeerCast.csに分割した。
a7e0319f3d... 2011-05-14 10:17 PeerCastStation.Core/Core.csにクラスが入りすぎていたのでHostをHost.csに分割した。
0bc5dfea1d... 2011-05-14 10:06 PeerCastStation.Core.HostとPeerCastStation.Core.Nodeが分かれている意味があまりなく混乱するので統合した。
63fe671140... 2011-04-29 10:11 PeerCastStation.GUIでログのファイルへの出力ができていなかったので、設定の初期化部分を整理して修正した。
76ca31332b... 2011-04-28 12:10 VisualStudio2008用のソリューションファイルであるPeerCastStation.2008.slnを更新した。
a0ae2ae2ce... 2011-04-28 12:09 各ソースファイルにGPLv3であることを示す表示を追加し、GPLv3の本体であるLICENSE.txtを追加した。
3001c52b69... 2011-04-27 13:52 Nodeの最終更新時刻は作成時に現在の時刻を設定しておくようにした。
b70aef4702... 2011-04-27 13:51 Channel.Nodesの古いノードを外す判定が全く機能していなかったので修正した。
SelectSourceNodeやSelectSourceNodesでも古いノードを参照しないようにNodesプロパティを介してノードリストを取得するようにした。
IgnoredHostsの無視時間もNodesの古いノード判定と同じ時間にした。
645d4796a3... 2011-04-27 13:16 PCPSourceStreamで丁度接続していない瞬間のCloseやReconnectが無視されるようになっていたので、stateがnullでない時(=Startが呼ばれていない時)のみ無視するようにした。
b4f4db84bb... 2011-04-26 12:45 PCPSourceStreamでも切断前に送信キューに入れたデータを送りきるようにした。
6bb3e773ac... 2011-04-26 12:44 PCPOutputStreamで切断前に送信キューに入れたデータを送っていなかったのを修正した。
4aba89a5a1... 2011-04-24 14:12 PCPOutputStreamで接続した後でリレー可能判定をしていたため、AccessControllerで自分の分の帯域やリレー数がカウントされ実際にはリレー可能にもかかわらずリレー不可を返すことがあったので、PCPOutputStream作成時点でリレー可能判定をするよう修正した。
ddde6839da... 2011-04-24 14:10 PCPSourceRecvRelayResponseStateで受信待ち中に接続が切れた時の判別処理をしていなかったので追加した。
6e5cbd3968... 2011-04-24 13:25 チャンネル毎のリレーツリーと別に接続ストリーム一覧を作り直下接続の切断もできるようにした。
7b653ae98e... 2011-04-24 13:24 GUI表示用に各OutputStreamのToStringを実装した。
f1e7f288c0... 2011-04-19 21:28 メインスレッドのSynchronizationContextが詰まってPeerCastStationのイベントが回らないので、暫定対処として強制的にメッセージを送信するためにTimerを1msで動かすようにした。
dfa4cdb442... 2011-04-18 22:53 HTTPOutputStreamでContents送信時に1パケットずつメインスレッドと同期して取得していたのがすごく遅かったので、Contents変更通知を受け取ったときに送信済みパケットより新しいContentのリストを保持して一気に送信するようにした。
e2e661d760... 2011-04-18 22:42 ContentCollection.NextOfではContent一つずつの取得で効率が悪いので、指定した位置より新しいContentを全て返すGetNewerContentsを追加した。
c1dcca207e... 2011-04-17 15:10 PCPOutputStreamおよびPCPPongOutputStreamで、終了時にQueuedSynchronizationContextに溜まっているイベントを待たずに終了しストリーム閉じる前に書き込み終了を待てていなかったので、Startを抜ける前に全てのイベントを処理するようにした。
17bd2be272... 2011-04-17 13:34 ContentCollectionに同じPositionのContentが追加された時に例外を上げてしまうので、同じPositionのContentは上書きするようにした。
97c84de33d... 2011-04-17 13:16 PeerCastStation.GUIでチャンネル一覧の更新方法を変更した。
再接続ボタンを実装した。
Closes GH-6
75b52f94fc... 2011-04-17 13:15 ユーザー操作によるチャンネルの再接続をするためにChannel.ReconnectとISourceStream.Reconnectを追加し、PCPSourceStreamに実装した。
c51037bfc7... 2011-04-17 12:05 追加忘れのSetting.csを追加した。
fd0373705a... 2011-04-17 10:45 PeerCastStation.GUIでログのコンソールおよびGUIへの出力も個別にON/OFFできるようにした。
Closes GH-9
4620e9a362... 2011-04-17 10:29 OhaohaCheckOutputStreamをPeerCastStation.GUIから使用するようにした。
dec5159c15... 2011-04-17 10:28 おはおはうっぷろだぁのPeerCast起動チェックに対応できるようにOhaohaCheckOutputStreamを追加した。
755bc76d3e... 2011-04-17 10:27 PeerCastStation.HTTP.HTTPRequestで詳細なリクエスト情報を取得できるようにHeaderメンバを追加して他のヘッダ情報を取得しておくようにした。
336aafae1c... 2011-04-17 07:17 HTTPOutputStreamがContentに同期を取らずにアクセスしていたのでPeerCastに同期してContent検索するようにした。
1232e28175... 2011-04-17 05:40 Loggerでログの文字列フォーマットに失敗した時に、落ちずにその例外を表示するようにした。
213a080302... 2011-04-17 05:39 HTTPDummyOutputStreamのログ出力でフォーマット文字列がおかしかったので修正した。ついでに開始と終了でもログを出すようにした。
539b8fca19... 2011-04-16 17:44 PCP_CHAN_PKT_POSなどのContent位置系の値は32bit符号無しで扱う方がよいので符号無しにした。
また、Content位置を受け取った時に以前のパケット位置から大きく巻き戻っていた場合は32bitをオーバーフローしたものとして64bitに拡張して扱うことにした。
53be6117ff... 2011-04-16 14:44 PeerCastStation.PCPの各所にログを仕込んだ。
4bba08c5a2... 2011-04-16 14:37 PeerCastStation.PCPの各所にログを仕込んだ。
2ca664459d... 2011-04-16 14:36 PCPOutputStreamでPingが通った相手でもノードのGlobalEndPointがnullになっていたので、通った場合は正しく設定されるようにした。
125b147522... 2011-04-16 14:35 PCPOutputStreamでPingが通った相手でもノードのGlobalEndPointがnullになっていたので、通った場合は正しく設定されるようにした。
1f0c9bb148... 2011-04-14 23:22 PCPOutputStreamでContentヘッダが新しくなった時に以降のContentボディ送信でヘッダより新しい物のみを送るようにした。
1f2064457b... 2011-04-14 23:00 HTTPOutputStreamでContentヘッダが更新された時のヘッダ再送信処理を正しく行なっていなかったのを修正した。
63f6aec223... 2011-04-12 23:18 PeerCastStation.HTTPの各所にログを仕込んだ。
82e7d72674... 2011-04-12 23:17 PeerCastStation.GUIをOSXで動かすとステータスバーが文字化けするのでステータスバーのフォントも明示的に変更するようにした。
85103e800b... 2011-04-11 22:27 PeerCastStation.Coreの各所でログを出力するようにした。
ログでわかりやすいようにPeerCastStation.Coreの各スレッド名に含む情報を増やした。
865c2dcb33... 2011-04-11 22:24 PeerCastStation.GUIでメインスレッド以外からログを出力するとテキストボックスにログを出力するのにメインスレッドを待ってしまいデッドロックするので、テキストボックスへのログ出力は非同期的に行なうようにした。
a6a3c574b2... 2011-04-11 22:22 AccessControllerのテストコードが間違っていて通らなくなっていたので修正した。
7e2590a481... 2011-04-11 14:15 PeerCastStation.Loggerが不要なlog4netを参照していたので外した。
ff135af466... 2011-04-10 13:40 MainFormのcurrentPortの初期値がいらないので消した。
479ec8fd0f... 2011-04-10 13:37 PeerCastStation.GUIで指定したポートが開けない場合はステータスバーにメッセージを表示するようにした。
またポートの開放状態もステータスバーに表示するようにした。
a0b98d3b74... 2011-04-10 12:10 PeerCastStation.GUIで各種設定をSettingsに保存するようにした。
989c78047c... 2011-04-10 12:08 PeerCastStation.Logger.csprojを追加忘れていたので入れた。
d32d7cc1a4... 2011-04-10 12:06 各アセンブリの会社名および著作権のアセンブリ情報がMicrosoftになっていたのでPeerCastStationに変更した。
5635045168... 2011-04-09 14:12 PeerCastStation.GUIでログの表示と保存の設定をできるようにした。
ee87450655... 2011-04-09 12:15 ログを取るためのロガーとしてPeerCastStation.Core.LoggerクラスをPeerCastStation.Logger.dllに追加した。
1f4d06ddc1... 2011-04-03 11:58 AccessControllerでチャンネルのビットレート取得が間違っていたので修正した。
ef6abbb806... 2011-04-03 11:33 GUIで自分以下のリレーツリーを表示するようにした。
ac7f08fb5a... 2011-04-03 11:32 ノード情報に最終更新時刻のLastUpdatedを追加し、Channel.Nodesで一定時間更新が無かったノード情報は削除するようにした。
5419a48947... 2011-04-03 11:30 PCPSourceStream.CreateBroadcastPacketで指定されたグループを使用せずに常に全体へのブロードキャストパケットを投げていたのを修正した。
Channel.Broadcastで指定されたグループに対する送信先が間違っていたのを修正した。
bff51459a1... 2011-04-03 08:00 PCPSourceStreamで自分のホスト情報を上流下流問わずに投げていたのを、PeerCastでは上流だけに投げていたのでそれに合わせた。
fd6a077cac... 2011-04-03 06:45 反応できないHTTPリクエストがあった時に常に404を返すためにHTTPDummyOutputStreamを追加した。
a6dfffe114... 2011-04-03 06:36 PCPSourceStreamでClose時のstreamの閉じる処理がおかしかったのを修正した。
46bc8ea1a8... 2011-04-03 06:34 OutputThreadFuncでストリーム種類判別前の送受信エラー処理を正しく行なっていなかったのを修正した。
d5684f6a43... 2011-04-03 06:31 PCPPongOutputStreamでストリーム作成前に受信したデータを正しく処理していなかったので処理するようにした。
53fae3b15a... 2011-03-29 21:01 AccessControllerのプロパティとチャンネル情報が更新された際にホスト情報変更チェックをするようにした。
3e1936356a... 2011-03-29 20:52 PCPSourceStreamのホスト情報作成時にリレーおよび視聴可能かを判定するのにAccessControllerを使うようにした。
1a1b64ae62... 2011-03-29 20:40 HTTPOutputStreamおよびPCPOutptStreamでチャンネル情報の取得が間違っていたのを修正した。
4c936c648f... 2011-03-28 12:57 AccessControllerの設定が変更された時にOutputStreamやSourceStreamが検知できるようにAccessControllerがINotifyPropertyChangedインターフェースを実装するようにした。
dce4205170... 2011-03-28 12:35 ChannelコンストラクタのトラッカーURIのホスト名からアドレスを引く時にIPv6アドレスが引けてもまだ対応していないのでIPv4アドレスだけを使用するようにした。
5719c9871d... 2011-03-28 08:22 PCP_HELO_PINGを受け取った時に相手がLAN内のアドレスだった場合はPingを送らずに強制的にFirewalledにするようにした。
224d3886b6... 2011-03-27 15:37 PCPOutputStreamで接続先がPCP_HELOにPCP_HELO_PINGをつけてきた時はPingでの接続確認をするようにした。
ddc7e5c999... 2011-03-27 10:24 PCP_HELO_PINGによるPCP接続に反応するためにPCPPongOutputStreamを追加した。
PeerCastStation.GUIでもPCPPongOutputStreamを使用するようにした。
d06fa2da56... 2011-03-25 14:55 PCPSourceStreamのsourceUriは使っていなかったので削除した。
5ce0d1dc41... 2011-03-25 14:54 OutputListnerThreadがPendingを監視しつつぐるぐる回っているのが無駄かつmonoでのデバッグで不安定になるので、ブロッキングでAcceptしつつ別スレッドで止めるようにした。
c894dd3847... 2011-03-24 22:02 monoではUri.TryCreateで絶対パス指定のURIをfile://のURIとして作ってしまうので、PCPOutputStreamのRequestReaderでは常に相対パスとして扱うようにした。
3fbea28922... 2011-03-24 21:59 TestCoreのコードが間違っててテストが通らなかったのを修正した。
8081325c2a... 2011-03-21 14:01 自ホストが接続可能かどうかを保持するためにPeerCast.IsFirewalledを追加した。
PeerCast.IsFirewalledがnullの時はPCPSourceStreamでPCP_HELO_PINGを送出してチェックするようにした。
d691dadf7f... 2011-03-21 13:11 ピアキャストの保持すべきIPアドレスはローカル(LAN内)のアドレスとグローバルアドレスのみだったので、Host.AddressesのかわりにHost.LocalEndPointとHost.GlobalEndPointの二つにした。
PeerCast.Host.LocalEndPointとGlobalEndPointのポート番号はOutputListenerを参照したかったので、PeerCast.Hostを削除してPeerCast.LocalEndPointとPeerCast.GlobalEndPointとして別に持つようにした。
343bd06499... 2011-03-19 11:26 HTTPOutputStream.CreateResponseHeaderのテストに失敗するようになっていたので、チャンネルが無い場合はNotFoundを返すようにした。
5e5c6846f4... 2011-03-10 22:43 PeerCastStation.GUIでとりあえず使ってないタブと役にたたないプロパティグリッドを削除した。
PeerCastStation.GUIの再生ボタンを押してstreamのURLを開くようにした。
d883afa919... 2011-03-10 22:41 PCPSourceStreamでPCP_OLEHを受けとる前からPCP_HOSTを送信したり他のパケットを受信していたので、PCP_OLEHを受け取るまではPCP_QUIT以外受け取らずに待つようにした。
65c7b71925... 2011-03-10 12:55 OSX版monoのWindows.Formsでは日本語表示できないフォントが既定で選択されてしまうので、PeerCastStation.GUIでOSXで動かしている時はフォームのフォントをOsakaに強制設定するようにした。
dc2f8ec5ec... 2011-03-10 11:31 HTTPOutputStreamでチャンネルの受信が行なわれる前にレスポンスを返してしまうのを回避するために、HTTPOutputStream.Startの先頭でチャンネル情報を受け取るまで最長10秒待つようにした。
HTTPOutputStreamでチャンネルの状態がErrorだった時にはNot foundを返すようにした。
098896c82b... 2011-03-08 13:18 PeerCastStation.2008.slnにもPeerCastStation.GUI.csprojを追加した。
ac73ab5f33... 2011-03-08 13:07 PeerCastStation.GUIのターゲットプラットフォームがx86になっていたが、x86に限る必要がないのでAnyCPUに変更した。
705f6bef8f... 2011-03-08 13:00 PeerCastStation.GUIの追加し忘れてたファイルを追加した。
04ad47c489... 2011-03-07 22:40 GUIでチャンネル一覧にチャンネルの状態を表示するようにした。
25d3944307... 2011-03-07 22:39 PCPSourceStream.Statusに値を設定すると値が以前と同じでもStatusChangedイベントを発生していたが、イベントが発生しすぎるので以前と値が違う場合のみ発生させるようにした。
da72e8592d... 2011-03-07 22:37 Channel.SelectSourceHostがnullを返すべきところで返していなかったのを修正した。
4141c7cdc0... 2011-03-07 22:06 PeerCast.HTTP.HTTPOutputStreamにてプレイリストの出力を実装した。
da317cf032... 2011-03-03 14:08 Channel.StatusはSourceStreamの状態に依存するため、ISourceStream.Statusプロパティを追加してChannel.Statusは専らそれを参照するようにした。
Channel.StatusがClosedかどうかでチャンネルが終了したかどうかを判別できなくなったため、別途Channel.IsClosedプロパティを追加した。
2466afe6fc... 2011-03-03 05:03 接続待ち受けの動的な開始・停止・追加ができるように、PeerCastの接続待ち受けをPeerCastStation.Core.OutputListenerに分離し、PeerCast.StartListenとPeerCast.StopListenで制御するようにした。
e46edd1c3d... 2011-03-01 22:04 GUIでチャンネルの切断ができるようにした。
66f858a11b... 2011-02-28 21:36 PCPのテストでPPバージョンを期待している箇所があったので外した。
ad6c1f76ad... 2011-02-28 21:32 PCPでのバージョン番号を即値で埋め込んでいたので定数にした。
PCPSourceStreamでバージョンとしてPPのバージョンも追加していたが、PPの機能を使わないので外した。
030f92dcdf... 2011-02-28 21:23 PCPSourceHostで自分のホスト情報を投げる時にAnyのアドレスまで投げていたので投げないようにした。
PCPSourceHostで自分のホスト情報を作成する時にPeerCastの情報を使うのでメインスレッドに同期するようにした。
f978b55ace... 2011-02-28 20:54 出力ストリームのヘッダ受信中にストリームが閉じると無限ループになっていたのを修正した。
03d974c15a... 2011-02-28 20:40 PeerCast.GUIでいらないアセンブリを参照してたので外した。
d1a7699965... 2011-02-27 13:54 GUIに合計リレー数と合計視聴数を表示するようにした。
398c33ff02... 2011-02-27 13:22 GUIにチャンネル一覧をちょっとまともに作った。
PeerCastStation.GUIを.NET 3.5でビルドされるようにした。
644d6662c6... 2011-02-27 13:20 OutputStreamを追加した時にChannel.OutputStreamsに追加されていなかったのを追加するようにした。
c9730d2da4... 2011-02-27 12:55 Channel.OnPropertyChangedで通知されるChannel.Contentsの変更はChannel.OnContentChangedで十分なので通知しないようにした。
94dca9f19b... 2011-02-27 12:54 PeerCast.Closeでchannels列挙中の変更が起きてしまうのを修正した。
PeerCast.Channelsにインデックス付きでアクセスしたかったので、PeerCast.ChannelsがICollectionだったのをIListに変更した。
96a987997d... 2011-02-27 12:46 チャンネルの追加・削除時に呼び出されるイベントとしてPeerCast.ChannelAddedとPeerCast.ChannedRemovedイベントを追加した。
4877801a70... 2011-02-27 11:49 チャンネルIDからチャンネル検索時に新しくリレーを作成できるようにPeerCast.RequestChannelメソッドを追加した。
HTTPOutputStreamではチャンネル検索字に新しくリレーを作成できるようにした。
ba8ecf3faa... 2011-02-27 09:33 簡易GUIのPeerCastStation.GUIを追加した。
27174ff7a8... 2011-02-21 22:58 チャンネル毎のContentsが無制限に追加されないように、最大パケット数を設定するLimitPacketsメンバを追加した。
ed458db334... 2011-02-21 22:56 TestCoreが通らなくなっていたのでMockOutputStreamにis_localメンバを追加した。
773d11092f... 2011-02-21 21:29 PCPSourceStreamでChannel.OutputStreamsのイベントにサブスクライブしっぱなしだったので外すようにした。
PCPSourceStreamでスレッド内ループが全力で回りまくっていたので適度に送受信やチャンネル情報更新のイベントを待つようにした。
371ea6bbe1... 2011-02-20 14:21 接続してきたPeerCastにリレー出力をするPCPOutputStreamを追加した。
TestPCPにPCPOutputStreamのテストを追加するにあたってtest_pcp.rbをtest_pcpsourcestream.rbに変更した。
8a86a0f24a... 2011-02-20 14:14 PCPSourceStreamの送受信制御を少しましにした。
3d039cd1c9... 2011-02-12 07:58 ユーザーエージェント名をPeerCast.UserAgentプロパティで決定するようにした。ユーザーエージェント名はアセンブリのプロダクト名とプロダクトバージョンから決定する。
IOutputStreamFactory.Createでやっぱり接続先のIPアドレス情報が必要だったのでis_local引数のかわりにEndPointを渡すようにした。
PCPSourceStreamで送信制御をちょっとなおした。
a012910bd8... 2011-02-12 07:34 PeerCastStaion.Core.Utilsをpublicにし忘れていたのでpublicにした。
0b1b18c2ec... 2011-02-01 22:46 Channel.Uptimeを実装した。
6c11c14dda... 2011-02-01 22:03 Channel.IsRelayFullとChannel.IsDirectFullをAccessController経由で正しく実装した。
72305c1e4c... 2011-02-01 21:28 TestCoreのテストコードを整理した。
9b3a48c289... 2011-02-01 21:13 ChannelでAccessControllerを使うためにChannelが所属するPeerCastオブジェクトを保持するようにした。
e4314ef16e... 2011-01-31 22:35 デバッグに便利なようにスレッドに名前をつけるようにした。
202dbc36ed... 2011-01-31 22:30 テストプロジェクトをテスト元に依存させるようにした。
4c6efb648a... 2011-01-31 22:28 チャンネルへの接続可能性を判定するPeerCast::Core::AccessControllerを追加した。
0db6992976... 2011-01-30 22:35 OutputStreamで消費する上り帯域を取得できるようにした。
ローカルネットワーク内では上り帯域を消費しない扱いにするため、OutputStreamの接続先がローカルネットワークか否かを判別するようにした。
433e6ed0f5... 2011-01-30 21:22 別スレッドでOutputStreamを追加していたのをメインスレッドで行なうようにした。
OutputStream用のスレッド終了時にOutputStreamを閉じるようにした。
41c5003f00... 2011-01-26 21:36 プラグインはCoreの機能として入れないことにしたのでPeerCastStation.CoreからPlugIn関係の機能を外した。
1b5885ab33... 2011-01-26 21:27 VS2008用のソリューションファイルも更新した。
a2d7438901... 2011-01-26 21:24 PeerCastStation.Core.HTTPOutputStreamをPeerCastStation.HTTP.HTTPOutputStreamに移動してアセンブリを分割した。
7810518afa... 2011-01-25 22:43 merge of '11bc933af9d3bada13f88f454047d4a7a7ed5b1c'
and 'b48dac6a538ba9ce4829c130b74626c030dad2d4'
11bc933af9... 2011-01-25 21:48 2008ではIronRubyプロジェクトは使えないので2008用のプロジェクトファイルからテスト用のrbprojを外した。
b48dac6a53... 2011-01-25 22:43 PeerCastStation.Core.Coreクラスの名前が悪かったのでPeerCastStation.Core.PeerCastクラスに変更した。
c298e5fd5d... 2011-01-25 21:40 HTTPOutputStreamにドキュメントを追加した。
e41de93ebb... 2011-01-25 20:29 PeerCastStation.CoreにHTTPで視聴ストリーム出力をするHTTPOutputStreamを追加した。
HTTPOutputStreamに必要なOutputStream周りの設計変更を行なった。
ec16a4cc6f... 2011-01-25 20:24 チャンネル毎にContentTypeを保持・取得できるようにした。
PCPSourceStreamでチャンネル毎のContentTypeを設定するようにした。
bb494aa2f4... 2011-01-11 23:33 Channel.Broadcastでgroupに複数の値を組み合わせて指定した場合に上流側にパケットを流さなかったのを修正した。
af2517b7d3... 2011-01-11 23:32 PCPのIDはビッグエンディアンなのに対し、System.GuidはリトルエンディアンだったのでPCPで送受信する時にはエンディアン変換をするようにした。
0e9a9aa33b... 2011-01-11 21:55 PCPSourceStream.Connectでuphostを設定し忘れていたのを修正した。
3925d5081c... 2011-01-09 15:13 QueuedSynchronizationContextのコメントに誤字があったのを修正した。
62fd8eb426... 2011-01-09 15:12 ContentCollection.NextOfの二分探索が上手くいってなかったのを修正した。
48763e0c6e... 2011-01-09 15:11 PCPSourceStreamでPCP_HELOパケットの作成が間違っていたのを修正した。
PCP_CHAN_PKTでHEADの場合もPositionがあれば使うようにした。
5629f8929d... 2011-01-05 21:10 PCPSourceReceivingStateにおいてホスト情報の強制送信を120秒毎に変更した。
PCPSourceReceivingStateでOutputStreamsの変更をされた時に最短10秒毎にホスト情報を送信するようにした。
fc706e2fad... 2011-01-04 13:23 PCPSourceStreamのAtom受信状態であるPCPSourceReceivingStateのテストを追加した。
5ab175a22a... 2011-01-04 13:05 PCPSourceStreamのPCP Helo送信状態であるPCPSourcePCPHandshakeStateのテストを追加した。
22dc465472... 2011-01-04 13:00 PCPSourceStreamのリレーリクエストのレスポンス受信状態を表すPCPSourceRecvRelayResponseStateのテストを追加した。
e22fa03161... 2011-01-04 12:45 PCPSourceStreamのリレーリクエスト送信状態であるPCPSourceRelayRequestStateのテストを追加した。
f0e519a08d... 2011-01-04 12:39 PCPSourceStreamの接続状態であるPCPSourceConnectStateのテストを追加した。
3b20024063... 2011-01-04 12:23 PCPSourceClosedStateのテストがちゃんと動いてなかったので修正した。
b69d6bff3e... 2011-01-04 12:18 PCPSourceStreamの閉じる状態であるPCPSourceClosedStateのテストを追加した。
d836c844ec... 2011-01-04 11:17 SourceClosedEventArgsはもう使ってないので消した。
ec691ae71a... 2011-01-04 11:14 PCPSourceStreamのテストを書くためにリファクタリングをした。
f448905fd8... 2010-12-31 13:19 SharpDevelop用のプロジェクトを追加した。
テスト時に7144ポートにbindしようとすると既に起動しているPeerCastと被るので7147に変更した。
077a0859f7... 2010-12-29 10:13 ブロードキャスト系のテストを動くように修正した。
cf852012ed... 2010-12-29 09:51 リレー要求のHTTPレスポンス解析を別クラスに分離した。
テストをちょっと直した。
6379733541... 2010-12-27 12:31 SourceStreamからChannelを参照したいことが多々あるのでSourceStreamの構築時にChannelを渡せるように
ISourceStream.Startに渡していた引数をISourceStreamFactory.Createで渡すように変更した。
4320caba4d... 2010-12-27 11:41 Channelの構築時にSourceStreamは必要ないのでChannel.Start時にSourceStreamを渡すように変更した。
63ed812659... 2010-12-27 10:59 PCPSourceStreamにホスト情報とブロードキャストパケットを作るメソッドを追加し、実際に送るようにした。
30d5603ef0... 2010-12-27 06:35 おかしな状態のrbprojをコミットしてしまったので修正した。
a6418ddd92... 2010-12-27 06:33 OutputStreamの接続種別を判別しOutputStreamCollectionで接続種別毎の計数をできるようにした。
db43bf4ede... 2010-12-27 05:55 Host情報を送るためのメンバを追加した。
fc8fd08b86... 2010-12-20 21:52 PCPSourceStreamでBCSTパケット受けとった場合に回すようにした。
81c53f4d98... 2010-12-19 14:59 ブロードキャストパケットを各ストリームに回せるようにした。
PCPSourceStreamのテストがしづらかったのでいくらかのメソッドをprotected virtualにした。
e18e6e8a12... 2010-12-16 21:07 Core.csがでかくなりすぎたのでChannel.csとAtom.csにファイルを分けた。
e62b838ee4... 2010-12-16 20:45 トラッカー以外のホストでエラーが起きた場合のテストを追加した。
f0e59b1a30... 2010-12-15 23:33 テストのためにPCPSourceStreamのSourceClosedイベントを追加した。
PCPSourceStreamのテストをちょっと整理してトラッカー以外への接続テストも追加した。
82894a1316... 2010-12-14 23:01 PCPSourceStreamの再接続テストを一部追加してバグを修正した。
e65be61d84... 2010-12-13 22:00 PCPSourceStream.ProcessAtomで全部やってた受信したAtomの処理をAtom種別毎のメソッドに分けた。
0d9e719baa... 2010-12-13 21:49 PCPSourceStreamで切断時の読み取り送信エラー処理を正しく書いた。
同じホストに再接続する時に一定時間待つようにした。
e685f54320... 2010-12-12 12:52 接続先選択を接続先の管理も含めてSourceStreamでなくChannelで行なうようにした。
b76fd0cfef... 2010-12-11 03:48 PCPSourceStreamの切断時処理をちょっとまともにした。
705471c634... 2010-12-08 21:52 チャンネルがClosedになるのをSourceStreamが終了したタイミングで行なうようにした。
728ee92798... 2010-12-06 23:20 SourceStreamのスレッド分けを見直した。
0c5548101b... 2010-12-04 16:02 スレッド間の同期をとるためにSynchronizationContextの同期する実装のQueuedSynchronizationContextを追加した。
8bd25f1cc3... 2010-11-30 12:30 Visual StudioにIronRuby Toolsを入れてないとテストプロジェクトが開けないのでtestを通すだけのRakefileを別途追加した。
IronRuby 1.1.1にrakeコマンドが無いのでrakeコマンド相当のrake.rbを追加した。
1f906f2e38... 2010-11-30 11:42 VisualStudio2008でもおそらく開けるソリューションファイルを追加した。
5479e0b7ad... 2010-11-29 22:42 PCPSourceStreamでAtomCollectionExtensionsのメソッドを使用するようにした。
a37d306ce3... 2010-11-29 22:41 AtomにIPv4アドレスを読み書きするメンバを追加した。
3864ff1a7e... 2010-11-28 15:28 AtomCollectionExtensionsに各種Atomの値を設定するSetterメソッドも追加した。
子持ちAtomのGetter拡張メソッドはAtomCollectionを返すようにした。
91bb1b182f... 2010-11-28 13:26 Atomからのデータ取得をしやすくする拡張メソッド群を追加した。
f244063a35... 2010-11-28 13:20 Atom.TryGetBytesが無かったので追加した。
45ca1bf054... 2010-11-25 21:58 PCP通信用の実装を追加した。
8edd2d0e02... 2010-11-25 21:57 SourceStreamが終了した時に仮にチャンネルステータスをClosedにするようにした。
コメントの間違いを修正した。
764e47be97... 2010-11-23 15:18 monoのgmcsで警告が出てたので出ないように修正した。
3a0371099a... 2010-11-23 15:13 ID4をstructにして内部はuintで保持するようにした。
AtomCollectionにFindByNameとUpdateを追加した。
Nodeに受信中を表すIsReceivingとControl接続がいっぱいかどうかを表すIsControlFullを追加した。
e2eb155a19... 2010-11-23 12:20 AtomのNameを4バイトで保持するためにID4クラスを新設してそれに変更した。
c238ce5b1d... 2010-11-21 16:54 Atomの読み取り時点での値の型決定ができないため、PeerCastStation.Core.Atomがバイト列として値を保持するように変更した。
ストリームへのAtomの読み書きをするPeerCastStation.Core.AtomReaderとPeerCastStation.Core.AtomWriterを追加した。
39023da5b1... 2010-11-13 16:07 ISourceStream.Startを別スレッドで呼び出すようにしてChannelにそのスレッドを持たせるようにした。
61c12232c3... 2010-11-13 15:33 各ファクトリインターフェースにNameプロパティを追加した。
各インターフェースが無駄にIDisposableを継承してたので外した。
b6ec7eaac4... 2010-11-13 14:46 出力ストリームの待ち受けと作成ができるようにした。
IOutputStreamFactoryで出力ストリームのプロトコル判別とチャンネルIDの取得も行なうようにした。
ca0b158822... 2010-11-10 21:41 Core.LoadPlugInを実装した。
401f380c16... 2010-11-08 23:12 クラスのドキュメントを追加した。
ISourceStreamFactoryの作成時にプロトコル判別用にURIを渡すようにした。
YPのトラッカー検索戻り値をURIにした。
ISourceStream.StartのtrackerパラメータをURIで受け取るようにした。
IOutputStreamFactory.Createでプロトコル判別用にリクエストヘッダを渡すようにした。
Core.OutputStreamFactoriesはプロトコルとファクトリの辞書にできないのでリストに変更した。
d7d73e30c9... 2010-11-07 14:04 Channelのイベントと中身を実装した。
ab30a82d03... 2010-11-07 13:17 NodeとChannelInfoの内部の変更を通知可能にした。
3a1bcb35b6... 2010-11-07 10:30 Coreの実装をちょっと進めた。
d6b05850db... 2010-11-06 16:17 C#で作り直しはじめた。
c3497e5c4c... 2010-10-31 23:03 ドキュメントとしてUMLをちょっと追加した。
202e3f3008... 2010-10-24 13:08 Doxyfileのパスを修正した。
abc6da432a... 2010-10-24 13:03 PCPの基本データ構造であるATOMをいじるAPIを追加した。
3595c48569... 2010-10-23 12:33 公開ヘッダファイルをsrc内からincludeに移動した。
6d80d6dbad... 2010-10-23 12:23 抽象入出力インターフェースのPECAIOStreamを追加した。
PECASocketからPECAIOStreamを作れるようにした。
ebe91d027d... 2010-10-21 14:24 TCPサーバソケットの実装を追加した。
5dd4ba193c... 2010-10-20 21:46 プレフィクスのPeCaStがうちづらいのでPECAに変更した。
7d6c64a015... 2010-10-20 21:31 TCPクライアントソケットのAPIを実装した。
24bc0c242e... 2010-10-13 21:33 COREの簡単な設計を追加した。
0d062ae25c... 2010-09-26 13:26 Initial Commit.
c298e5fd5d... 2011-01-25 21:40 HTTPOutputStreamにドキュメントを追加した。
e41de93ebb... 2011-01-25 20:29 PeerCastStation.CoreにHTTPで視聴ストリーム出力をするHTTPOutputStreamを追加した。
HTTPOutputStreamに必要なOutputStream周りの設計変更を行なった。
ec16a4cc6f... 2011-01-25 20:24 チャンネル毎にContentTypeを保持・取得できるようにした。
PCPSourceStreamでチャンネル毎のContentTypeを設定するようにした。
bb494aa2f4... 2011-01-11 23:33 Channel.Broadcastでgroupに複数の値を組み合わせて指定した場合に上流側にパケットを流さなかったのを修正した。
af2517b7d3... 2011-01-11 23:32 PCPのIDはビッグエンディアンなのに対し、System.GuidはリトルエンディアンだったのでPCPで送受信する時にはエンディアン変換をするようにした。
0e9a9aa33b... 2011-01-11 21:55 PCPSourceStream.Connectでuphostを設定し忘れていたのを修正した。
3925d5081c... 2011-01-09 15:13 QueuedSynchronizationContextのコメントに誤字があったのを修正した。
62fd8eb426... 2011-01-09 15:12 ContentCollection.NextOfの二分探索が上手くいってなかったのを修正した。
48763e0c6e... 2011-01-09 15:11 PCPSourceStreamでPCP_HELOパケットの作成が間違っていたのを修正した。
PCP_CHAN_PKTでHEADの場合もPositionがあれば使うようにした。
5629f8929d... 2011-01-05 21:10 PCPSourceReceivingStateにおいてホスト情報の強制送信を120秒毎に変更した。
PCPSourceReceivingStateでOutputStreamsの変更をされた時に最短10秒毎にホスト情報を送信するようにした。
fc706e2fad... 2011-01-04 13:23 PCPSourceStreamのAtom受信状態であるPCPSourceReceivingStateのテストを追加した。
5ab175a22a... 2011-01-04 13:05 PCPSourceStreamのPCP Helo送信状態であるPCPSourcePCPHandshakeStateのテストを追加した。
22dc465472... 2011-01-04 13:00 PCPSourceStreamのリレーリクエストのレスポンス受信状態を表すPCPSourceRecvRelayResponseStateのテストを追加した。
e22fa03161... 2011-01-04 12:45 PCPSourceStreamのリレーリクエスト送信状態であるPCPSourceRelayRequestStateのテストを追加した。
f0e519a08d... 2011-01-04 12:39 PCPSourceStreamの接続状態であるPCPSourceConnectStateのテストを追加した。
3b20024063... 2011-01-04 12:23 PCPSourceClosedStateのテストがちゃんと動いてなかったので修正した。
b69d6bff3e... 2011-01-04 12:18 PCPSourceStreamの閉じる状態であるPCPSourceClosedStateのテストを追加した。
d836c844ec... 2011-01-04 11:17 SourceClosedEventArgsはもう使ってないので消した。
ec691ae71a... 2011-01-04 11:14 PCPSourceStreamのテストを書くためにリファクタリングをした。
f448905fd8... 2010-12-31 13:19 SharpDevelop用のプロジェクトを追加した。
テスト時に7144ポートにbindしようとすると既に起動しているPeerCastと被るので7147に変更した。
077a0859f7... 2010-12-29 10:13 ブロードキャスト系のテストを動くように修正した。
cf852012ed... 2010-12-29 09:51 リレー要求のHTTPレスポンス解析を別クラスに分離した。
テストをちょっと直した。
6379733541... 2010-12-27 12:31 SourceStreamからChannelを参照したいことが多々あるのでSourceStreamの構築時にChannelを渡せるように
ISourceStream.Startに渡していた引数をISourceStreamFactory.Createで渡すように変更した。
4320caba4d... 2010-12-27 11:41 Channelの構築時にSourceStreamは必要ないのでChannel.Start時にSourceStreamを渡すように変更した。
63ed812659... 2010-12-27 10:59 PCPSourceStreamにホスト情報とブロードキャストパケットを作るメソッドを追加し、実際に送るようにした。
30d5603ef0... 2010-12-27 06:35 おかしな状態のrbprojをコミットしてしまったので修正した。
a6418ddd92... 2010-12-27 06:33 OutputStreamの接続種別を判別しOutputStreamCollectionで接続種別毎の計数をできるようにした。
db43bf4ede... 2010-12-27 05:55 Host情報を送るためのメンバを追加した。
fc8fd08b86... 2010-12-20 21:52 PCPSourceStreamでBCSTパケット受けとった場合に回すようにした。
81c53f4d98... 2010-12-19 14:59 ブロードキャストパケットを各ストリームに回せるようにした。
PCPSourceStreamのテストがしづらかったのでいくらかのメソッドをprotected virtualにした。
e18e6e8a12... 2010-12-16 21:07 Core.csがでかくなりすぎたのでChannel.csとAtom.csにファイルを分けた。
e62b838ee4... 2010-12-16 20:45 トラッカー以外のホストでエラーが起きた場合のテストを追加した。
f0e59b1a30... 2010-12-15 23:33 テストのためにPCPSourceStreamのSourceClosedイベントを追加した。
PCPSourceStreamのテストをちょっと整理してトラッカー以外への接続テストも追加した。
82894a1316... 2010-12-14 23:01 PCPSourceStreamの再接続テストを一部追加してバグを修正した。
e65be61d84... 2010-12-13 22:00 PCPSourceStream.ProcessAtomで全部やってた受信したAtomの処理をAtom種別毎のメソッドに分けた。
0d9e719baa... 2010-12-13 21:49 PCPSourceStreamで切断時の読み取り送信エラー処理を正しく書いた。
同じホストに再接続する時に一定時間待つようにした。
e685f54320... 2010-12-12 12:52 接続先選択を接続先の管理も含めてSourceStreamでなくChannelで行なうようにした。
b76fd0cfef... 2010-12-11 03:48 PCPSourceStreamの切断時処理をちょっとまともにした。
705471c634... 2010-12-08 21:52 チャンネルがClosedになるのをSourceStreamが終了したタイミングで行なうようにした。
728ee92798... 2010-12-06 23:20 SourceStreamのスレッド分けを見直した。
0c5548101b... 2010-12-04 16:02 スレッド間の同期をとるためにSynchronizationContextの同期する実装のQueuedSynchronizationContextを追加した。
8bd25f1cc3... 2010-11-30 12:30 Visual StudioにIronRuby Toolsを入れてないとテストプロジェクトが開けないのでtestを通すだけのRakefileを別途追加した。
IronRuby 1.1.1にrakeコマンドが無いのでrakeコマンド相当のrake.rbを追加した。
1f906f2e38... 2010-11-30 11:42 VisualStudio2008でもおそらく開けるソリューションファイルを追加した。
5479e0b7ad... 2010-11-29 22:42 PCPSourceStreamでAtomCollectionExtensionsのメソッドを使用するようにした。
a37d306ce3... 2010-11-29 22:41 AtomにIPv4アドレスを読み書きするメンバを追加した。
3864ff1a7e... 2010-11-28 15:28 AtomCollectionExtensionsに各種Atomの値を設定するSetterメソッドも追加した。
子持ちAtomのGetter拡張メソッドはAtomCollectionを返すようにした。
91bb1b182f... 2010-11-28 13:26 Atomからのデータ取得をしやすくする拡張メソッド群を追加した。
f244063a35... 2010-11-28 13:20 Atom.TryGetBytesが無かったので追加した。
45ca1bf054... 2010-11-25 21:58 PCP通信用の実装を追加した。
8edd2d0e02... 2010-11-25 21:57 SourceStreamが終了した時に仮にチャンネルステータスをClosedにするようにした。
コメントの間違いを修正した。
764e47be97... 2010-11-23 15:18 monoのgmcsで警告が出てたので出ないように修正した。
3a0371099a... 2010-11-23 15:13 ID4をstructにして内部はuintで保持するようにした。
AtomCollectionにFindByNameとUpdateを追加した。
Nodeに受信中を表すIsReceivingとControl接続がいっぱいかどうかを表すIsControlFullを追加した。
e2eb155a19... 2010-11-23 12:20 AtomのNameを4バイトで保持するためにID4クラスを新設してそれに変更した。
c238ce5b1d... 2010-11-21 16:54 Atomの読み取り時点での値の型決定ができないため、PeerCastStation.Core.Atomがバイト列として値を保持するように変更した。
ストリームへのAtomの読み書きをするPeerCastStation.Core.AtomReaderとPeerCastStation.Core.AtomWriterを追加した。
39023da5b1... 2010-11-13 16:07 ISourceStream.Startを別スレッドで呼び出すようにしてChannelにそのスレッドを持たせるようにした。
61c12232c3... 2010-11-13 15:33 各ファクトリインターフェースにNameプロパティを追加した。
各インターフェースが無駄にIDisposableを継承してたので外した。
b6ec7eaac4... 2010-11-13 14:46 出力ストリームの待ち受けと作成ができるようにした。
IOutputStreamFactoryで出力ストリームのプロトコル判別とチャンネルIDの取得も行なうようにした。
ca0b158822... 2010-11-10 21:41 Core.LoadPlugInを実装した。
401f380c16... 2010-11-08 23:12 クラスのドキュメントを追加した。
ISourceStreamFactoryの作成時にプロトコル判別用にURIを渡すようにした。
YPのトラッカー検索戻り値をURIにした。
ISourceStream.StartのtrackerパラメータをURIで受け取るようにした。
IOutputStreamFactory.Createでプロトコル判別用にリクエストヘッダを渡すようにした。
Core.OutputStreamFactoriesはプロトコルとファクトリの辞書にできないのでリストに変更した。
d7d73e30c9... 2010-11-07 14:04 Channelのイベントと中身を実装した。
ab30a82d03... 2010-11-07 13:17 NodeとChannelInfoの内部の変更を通知可能にした。
3a1bcb35b6... 2010-11-07 10:30 Coreの実装をちょっと進めた。
d6b05850db... 2010-11-06 16:17 C#で作り直しはじめた。
c3497e5c4c... 2010-10-31 23:03 ドキュメントとしてUMLをちょっと追加した。
202e3f3008... 2010-10-24 13:08 Doxyfileのパスを修正した。
abc6da432a... 2010-10-24 13:03 PCPの基本データ構造であるATOMをいじるAPIを追加した。
3595c48569... 2010-10-23 12:33 公開ヘッダファイルをsrc内からincludeに移動した。
6d80d6dbad... 2010-10-23 12:23 抽象入出力インターフェースのPECAIOStreamを追加した。
PECASocketからPECAIOStreamを作れるようにした。
ebe91d027d... 2010-10-21 14:24 TCPサーバソケットの実装を追加した。
5dd4ba193c... 2010-10-20 21:46 プレフィクスのPeCaStがうちづらいのでPECAに変更した。
7d6c64a015... 2010-10-20 21:31 TCPクライアントソケットのAPIを実装した。
24bc0c242e... 2010-10-13 21:33 COREの簡単な設計を追加した。
0d062ae25c... 2010-09-26 13:26 Initial Commit.