第 7 章 おわりに 65
C.9 SessionManager
ConnectionManager の外部への報告
CONNECTED (ID) (SRC) (DST)
IDが(ID)で送信者のノードアドレスが(SRC)、受信者のノードアドレスが(DST)のコ ネクションが登録された
DISCONNECTED (ID) (SRC) (DST)
IDが(ID)で送信者のノードアドレスが(SRC)、受信者のノードアドレスが(DST)のコ ネクションの登録が抹消された
ワークに存在するノードアドレスdstのバーチャルビデオノードにセッションを張 る。成功した場合にtrueを返し、失敗した場合にはfalseを返す。
SessionManager::transitSession セッションの中継をする インターフェース
bool SessionManager::transitSession(int ID, NodeAddress trans, const NetAddress &netSrc, const NodeAddress &src,
const NetAddress &netDst, const NodeAddress &dst);
説明
ネットアドレスがnetSrcであるビデオネットワークに存在しノードアドレスがsrc であるバーチャルビデオノードから、ネットアドレスがnetDstであるビデオネット ワークに存在するノードアドレスdstのバーチャルビデオノードにセッションを張 る。この際にセッション番号はIDであり、直前のビデオネットワークからのビデオ データはノードアドレスがtransであるゲートウェイを介して転送される。成功し た場合にtrueを返し、失敗した場合にはfalseを返す。
SessionManager::cleanSession セッションの切断を行う インターフェース
SessionManager::cleanSession(int ID);
説明セッションIDがIDであるセッションを切断する。成功した場合にtrueを返し、
失敗した場合にはfalseを返す。
SessionManager::registerSession セッションの登録を行う インターフェース
bool SessionManager::registerSession(int ID, int connectionID, const NetAddress &netSrc, const NodeAddress &src
const NetAddress &netDst, const NodeAddress &dst);
説明
セッション番号がIDであるセッションを登録する。このセッションを構成するロー カルなコネクションの番号はconnectionIDで指定される。また、このセッションの 送信元のネットワークアドレスとノードアドレスはnetSrcとsrcであり、受信先の ネットワークアドレスとノードアドレスはnetDstとdstである。
SessionManager::deleteSession セッションの登録を抹消する インターフェース
bool SessionManager::deleteSession(int ID);
説明
セッション番号がIDであるセッションを検索する。検索結果が返される。
SessionManager::searchSession セッションを検索する インターフェース
std::list<SessionInfo> SessionManager::searchSessions(
const NetAddress src, const NetAddress dst) const;
std::list<SessionInfo> SessionManager::searchSessions(int conID) const;
説明
送信側のネットワークアドレスがsrc、受信側がdstであるセッションを検索する。
またコネクションIDがconIDであるコネクションが一部となっているセッション を検索する。検索した結果をSessinoInfoのリストとして返す。
SessionManager::searchSession セッションを検索する インターフェース
bool SessionManager::searchSession(int ID);
説明
セッション番号がIDであるセッションの検索を行う。
SessionManager::attachReceiver 通知オブジェクトの追加 インターフェース
void SessinManager::attachReceiver(NotificationReceiver *receiver);
説明
receiverを内部状態変化時の呼び出しオブジェクトとして登録する。
SessinManager::detachReceiver 通知オブジェクトの削除 インターフェース
void SessinManager::detachReceiver(NotificationReceiver *receiver);
説明
receiverを内部状態変化時の呼び出しオブジェクトの登録から削除する。
SessionManager の外部への報告
MADESESSION ID CONID
セッションIDが(ID)で、ローカルのコネクションIDが(CONID)であるセッションが 確立された
CLEANEDSESSION ID CONID
セッションIDが(ID)で、ローカルのコネクションIDが(CONID)であるセッションが 切断された