共通デスクトップ環境 ToolTalk メッセージの概要

パターンの登録とパターンとの一致通知の送信

パターンを登録し、そのパターンに一致するという通知を送信するには、次のように入力します。

 % tttrace -a myclientprogram 

例 4-1 は、その結果を示します。


例 4-1 パターンの登録と通知の送信

tt_open() = 0x51708=="7.jOHHM X 129.144.153.55 0" (TT_OK) 
tt_fd() = 11 (TT_OK)  
tt_pattern_create() = 0x50318 (TT_OK) 
tt_pattern_category_set(0x50318, TT_OBSERVE) = 0 (TT_OK) 
tt_pattern_scope_add(0x50318, TT_SESSION) = 0 (TT_OK) 
tt_pattern_op_add(0x50318, 0x2f308=="Hello World") = 0 (TT_OK) 
tt_default_session() = 0x519e0=="X 129.144.153.55 0" (TT_OK) 
tt_pattern_session_add(0x50318, 0x519e0=="X 129.144.153.55 0") = 0 (TT_OK) 
tt_pattern_register(0x50318) = 0 (TT_OK)  
tt_message_create() = 0x51af0 (TT_OK)
tt_message_class_set(0x51af0, TT_NOTICE) = 0 (TT_OK) 
tt_message_address_set(0x51af0, TT_PROCEDURE) = 0 (TT_OK) 
tt_message_scope_set(0x51af0, TT_SESSION) = 0 (TT_OK) 
tt_message_op_set(0x51af0, 0x2f308=="Hello World") = 0 (TT_OK) 
tt_message_send(0x51af0)        ...
    TT_CREATED => TT_SENT:
    TT_SENT TT_PROCEDURE TT_NOTICE (TT_DISCARD in TT_SESSION): 0 == TT_OK
    id:             0 7.jOHHM X 129.144.153.55 0
    op:             Hello World
    session:        X 129.144.153.55 0
    sender:         7.jOHHM X 129.144.153.55 0
= 0 (TT_OK)         
tt_message_receive()        ...
    Tt_message => procid <7.jOHHM X 129.144.153.55 0>
    TT_SENT TT_PROCEDURE TT_NOTICE (TT_DISCARD in TT_SESSION): 0 == TT_OK
    id:             0 7 jOHHM X 129.144.153.55 0
    op:             Hello World
    session:        X 129.144.153.55 0
    sender:         7.jOHHM X 129.144.153.55 0
    pattern:        0:7.jOHHM X 129.144.153.55 0 
= 0x51af0 (TT_OK) 

ttsession によるメッセージ・フローの表示を見るには、次のように入力します。

 % tttrace -a

ttsession による mylientprogram のメッセージ・フローの表示は、例 4-2 のとおりです。


例 4-2 ttsession によるトレースの表示

tt_message_reply:
    TT_SENT => TT_HANDLED:
    TT_HANDLED TT_PROCEDURE TT_REQUEST (TT_DISCARD in TT_SESSION): 0 == TT_OK
    id:     0 2.jOHHM X 129.144.153.55 0
    op:     Session_Trace
    args:   TT_IN string: "> /tmp/traceAAAa002oL; version 1; states"[...]
    session:X 129.144.153.55 0
    sender: 2.jOHHM X 129.144.153.55 0
    pattern:0:X 129.144.153.55 0
    handler:0.jOHHM X 129.144.153.55 0 
    Tt_message => procid <2.jOHHM X 129.144.153.55 0>        
tt_message_send:
    TT_CREATED TT_PROCEDURE TT_NOTICE (TT_DISCARD in TT_SESSION): 0 == TT_OK
    id:     0 7.jOHHM X 129.144.153.55 0
    op:     Hello World
    session:X 129.144.153.55 0
    sender: 7.jOHHM X 129.144.153.55 0                
    TT_CREATED => TT_SENT:
    TT_SENT TT_PROCEDURE TT_NOTICE (TT_DISCARD in TT_SESSION): 0 == TT_OK
    id:     0 7.jOHHM X 129.144.153.55 0 
    op:     Hello World
    session:X 129.144.153.55 0 
    sender: 7.j HHM X 129.144.153.55 0
    Tt_message & Tt_pattern { 
    id:     0:7.jOHHM X 129.144.153.55 0
    category:TT_OBSERVE
    scopes: TT_SESSION
    sessions:X 129.144.153.55 0
    ops:    Hello World
    } == 3;
    Tt_message => procid <7.jOHHM X 129.144.153.55 0>


注 -

トレースされた最初のメッセージは、ほとんどの場合 ttrace が送信した要求への ttsession による応答になります。