-
Notifications
You must be signed in to change notification settings - Fork 465
GSoC 2020 Proposal: Create MQTT source and destination (vatsal encs)
I'm Vatsal Sisodiya, a graduate student of Masters in Software and Mechanical Engineering (dual degree) program at Concordia University.
Apart from college studies, I build cool websites in my free time. Also, I do competitive programming on LeetCode and online computer science courses (Coursera, Udacity) to improve myself as a software developer. I have 2+ years of experience in C, IoT, NodeJS, and Python programming.
I can work 20-30 hours per week or even more according to the requirements.
Location: Montreal, Canada (GMT - 4)
Name | Link |
---|---|
vatsal.encs@gmail.com | |
Github | https://github.com/vatsal-encs |
MQTT is a machine-to-machine (M2M)/"Internet of Things" connectivity protocol. It was designed as an extremely lightweight publish/subscribe messaging transport. It is useful for connections with remote locations where a small code footprint is required and/or network bandwidth is at a premium. The main goal is to create MQTT subscriber/publisher in syslog-ng, over the already present TCP/IP implementation.
- The functioning MQTT source and/or destination
- Criterion test cases
- New feature documentation
I like working on MQTT based projects. I am fascinated with the internal design and architecture of syslog-ng. I have used syslog-ng in one of the IP-PBX products. This product has the feature to send SMS from an incoming email using GSM engine. To debug SMS module, I configured syslog-ng server to receive messages from SMS module. Then the server further sends the messages over the custom TCP port.
- Working knowledge of MQTT publisher/subscriber
- How a publisher/subscriber model looks like in C (Paho library)
- Different aspects and difficulties of high-performance message transfer
- MQTT protocol
- Python and C programming
- git (Contribution through Pull requests)
- Familiarity with TCP/IP and TLS
- Creating a new source/destination in syslog-ng
- Increase familiarity with the mentor and the community
- Improve my knowledge of how to create a new source/destination module in syslog-ng
- Create a new mqtt source module in syslog-ng
- Integrate C paho library and develop a code to create mqtt subscriber
- Add options to configure mqtt broker ip address and port number
- Develop tests using criterion framework for newly added mqtt source
- Test the code and resolve bugs
- Code review with the mentor
- Submit Phase 1 evaluation
- Note down improvement points from mentor
- Create a new mqtt destination module in syslog-ng
- Develop a plugin code for mqtt publisher in destination
- Add options to configure mqtt broker ip address and port number
- Develop test cases for mqtt destination module
- Code review and changes
- Bug fixing
- Submit Phase 2 evaluation
- Complete the remaining tasks
- Write documentation
- Buffer Period
- Review both the code and the documentation
- Make a new pull request on syslog-ng for all completed tasks of mqtt project
- Fix code reviews of pull request
- Submit final evaluation
I am actively participating in gitter conversations. Also, I am directly contributing to the syslog-ng's issues.
No. | Description | Link |
---|---|---|
1 | scl: add sumologic-http and sumologic-syslog | #3194 |
2 | rewrite: added conditional set-tag rule | #3190 |
3 | example-msg-generator: support fast message generation | #3245 |
4 | http: add support for proxy | #3253 |
5 | afsocket: fix typo of so_keepalive option | #3264 |