UDPTranscriptのメモ
以前自家製ツールのDOSbridgeなるものをつくったが、Linuxで使うためにwinsockからLinuxのソケットに変更した。ついでに名前もUDPTranscriptに変更した。後で使いかたをどうせ忘れるだろうからメモ。
UDPTranscriptはTranscriptでは表示が間に合わない場合やログとして残したいために作ったツールだ。動作は簡単でログとして残したい文字列をUDPで送信して、UDP受信プログラムでLinuxコンソール(genome-terminal)に表示したり、ファイルに保存したりするだけだ。ただこれだけでは、貧弱なので(あまり使わないかもしれないが)いろいろ機能を盛りこんでいる。
機能:
UDPTranscript heartBeat "開始"
terminal
2007-01-18T23:18:56+00:00 2007-01-18T23:19:01+00:00 2007-01-18T23:19:06+00:00
UDPTranscript default terminate "停止"
- progress:進捗状態を表示する(すごく時間がかかる処理は便利)。
ut |
terminal:
TEST : 76% oooooooooooooooooooooooooooooooooooo............
terminal:
StarMorph new openInWorld
terminal:
a StarMorph(2993) "評価結果をasStringしたものが帰る"
- context:呼び出し時点のコンテキスト表示
"at ParagraphEditor>>readKeyboard" ---------- TextMorphEditor(ParagraphEditor)>>readKeyboard TextMorphEditor>>readKeyboard [] in TextMorphForEditView(TextMorph)>>keyStroke: {[editor readKeyboard]} TextMorphForEditView(TextMorph)>>handleInteraction:fromEvent: TextMorphForEditView>>handleInteraction:fromEvent: TextMorphForEditView(TextMorph)>>keyStroke: TextMorphForEditView>>keyStroke: TextMorphForEditView(TextMorph)>>handleKeystroke: KeyboardEvent>>sentTo: TextMorphForEditView(Morph)>>handleEvent: TextMorphForEditView(Morph)>>handleFocusEvent: [] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self. ActiveEvent := anEvent. result := focusHolder han...]} [] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]} BlockContext>>on:do: PasteUpMorph>>becomeActiveDuring: HandMorph>>sendFocusEvent:to:clear: HandMorph>>sendEvent:focus:clear: HandMorph>>sendKeyboardEvent: HandMorph>>handleEvent: HandMorph>>processEvents -------------------------------
- inspect:オブジェクトをinspect(クラス名とその値を表示)
------------------------------- Character value=120 -------------------------------
SqueakからUDPを受信するプログラムはCで書かれたもので、ファイル保存、バッチ処理用に簡易文字列置換を持っている。UDPはホスト/ポートを指定できる。