Hi Samisa,

Yes we did changes which are local to the Moquette library, However, the
changes were done in a separate class to act as an interface between the
Andes Kernal and the MQTT library. All the changes which are specific for
the kernel integration are embedded in that class, so that when the library
updates with a minimum effort we could adopt to the changes.

However, it was also considered to totally abstract the library without
having us modify any of its content but rather call only its interfaces.
Then the challenge was to have a way to resolve circular dependencies.
Where,
to start the MQTT server MQTT library will depend on Andes and for message
exchange Andes will depend on MQTT library.

Also, IMO in order to maintain patches which we also need to have the
library source code in a separate branch and maintain the way we do for
Synapse. Please do correct me if i am wrong.

Thanks,
Pamod


On Sat, Mar 8, 2014 at 10:35 AM, Samisa Abeysinghe <sam...@wso2.com> wrote:

>
>
>
> On Sat, Mar 8, 2014 at 10:00 AM, Pamod Sylvester <pa...@wso2.com> wrote:
>
>> Hi All,
>>
>> The following is the status of the MQTT Moquette library integration with
>> MB 3.0.0,
>>
>> ~ Library was revamped to fit in with the Andes kernel.
>>
>
> Have we done local changes in this re-vamp? How do we plan to maintain
> those if yes?
>
>
>> Attached diagram depicts how the messages are flowed between the
>> components at a high level.
>> ~ Implemented a MQTT client for subscription and publishing.
>> ~ Also the Moquette library was patched, the default behaviour of the
>> library did not support multiple subscribers to receive a published
>> message.
>>
>
> How do we plan to maintain these patches?
>
>
>> That was due to a bug which had a common ByteBuffer shared between
>> concurrently accessing subscriber connections. The issue was fixed by
>> cloning ByteBuffer instances per subscriber. Note that the wrapped array
>> element was not duplicated or changed.
>>
>> The implemented code and artefacts could be found in [1]. Will commit the
>> code once reviewed.
>>
>> To-Dos
>>
>> ~Need to package the dependencies.
>> - Need to prepare test cases that would cover all the aspects described
>> in the MQTT spec.
>> - Need to test MQTT use cases in a cluster.
>>  - Need to load test and perform a long running test.
>> - Need to discuss on the UI aspects.
>>
>> Please do let know if there're amendments to be made.
>>
>> Thanks,
>> Pamod
>>
>> [1] https://svn.wso2.org/repos/wso2/scratch/pamod/mqtt_wrok/
>>
>>
>> --
>> *Pamod Sylvester *
>>  * Software Engineer *
>> Integration Technologies Team, WSO2 Inc.; http://wso2.com
>> email: pa...@wso2.com cell: +94 77 7779495
>>
>> _______________________________________________
>> Architecture mailing list
>> Architecture@wso2.org
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
> _______________________________________________
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
*Pamod Sylvester *
 * Software Engineer *
Integration Technologies Team, WSO2 Inc.; http://wso2.com
email: pa...@wso2.com cell: +94 77 7779495
_______________________________________________
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to