Yate設計

From: http://yate.null.ro/pmwiki/index.php?n=Main.Design

 

The purpose of Yate's design is to provide an extensible telephony engine. Holding the base code as simple as possible and adding functionality as needed allows one to find the best balance between desired functionality, performance and stability.

Yate的設計目標是爲了提供一個可擴展性的電話引擎,試圖以最簡簡潔的代碼,在擴展所需功能與性能、穩定性之間達到最佳平衡。

Engine

The engine holds the base C++ classes of Yate and connects together all components. There is a diagram showing how all components interact.

該引擎基於Yate的C++類,將所有組件連接在一起工作。以下圖表描述了組件之間的交互過程。

Modules

Most real functionality is provided by modules loaded at runtime. These can be dynamical libraries loaded as plugins in the engine or external applications started by a specific module (extmodule ) that allows them to talk to the engine and other modules.

大部分功能由運行時加載的模塊實現。這些模塊以動態鏈接庫爲載體,作爲插件被引擎或外部程序加載,模塊與引擎、模塊與模塊之間可相互通信。

Messages

The signaling between Yate modules (either plugins or external modules) is performed by using messages . They provide extensibility, customization and technology independence. Each module that needs something from another or tries to notify about some event creates and emits a message. The message flows through the Engine which tries to deliver it to the proper target.

模塊(包括插件或外部模塊)之間的通信通過消息來實現。消息機制是可擴展的、可定製的且技術獨立的。模塊通過創建、發送消息的方式通知其他模塊或接受其他模塊的發送的信息。消息流通過引擎總會發送到恰當的目標中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章