Trac is being migrated to new services! Issues can be found in our new YouTrack instance and WIKI pages can be found on our website.

Changes between Version 2 and Version 3 of GSoC2010/MSN_Refactor


Ignore:
Timestamp:
Jun 2, 2010, 11:00:38 PM (14 years ago)
Author:
salinasv
Comment:

Architectrure RFC

Legend:

Unmodified
Added
Removed
Modified
  • GSoC2010/MSN_Refactor

    v2 v3  
    1616 * Make msn-prpl.c to just call msn.h functions and initialize prpl struct
    1717 * Create a purple-msn interface layer
     18
     19== Proposed Architecture ==
     20=== Architecture ===
     21There will be a self contained stack that makes transparent to every other module about the details of SLP and SLP messages. The proposed architecture exposes a single SLP API on top of the stack and pass it to the lower layers as needed: SLP API-> SlpCall -> SlpLink -> Network. Where SlpLink is an abstraction of the possible transaction methods, each defined in the DirectConn and SBConn modules.
     22
     23====  SLP API (WIP) ====
     24This API must abstract everything others modules will need from SLP transactions. This will be the one that creates the SlpCall for any new transaction as needed
     25
     26==== SlpCall ====
     27Represent an SLP transaction creating the messages as needed and managing most of the msg specific management (what to do on each response).
     28
     29==== SlpLink ====
     30Abstract a Connection. Try DirectConn and fallback to SBConn if the former fails. This module is also responsible to get the data that must be sent from files or write down the received data.
     31
     32==== Conn ====
     33This modules must expose a common interface so they can be easily attached to SlpCall and Netwrok interfaces.
     34
     35=== Implementation ===
     36* SBConn and DirectConn can have a conn_ops structure which will be called by the SlpLink module,
     37* SBConnmust be extracted from the actual Switchboard module.
     38* Use an MsnTable in SlpCall to manage the SLP protocol callbacks.
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!