{"action":"opened","issue":{"url":"https://api.github.com/repos/pybee/batavia/issues/729","repository_url":"https://api.github.com/repos/pybee/batavia","labels_url":"https://api.github.com/repos/pybee/batavia/issues/729/labels{/name}","comments_url":"https://api.github.com/repos/pybee/batavia/issues/729/comments","events_url":"https://api.github.com/repos/pybee/batavia/issues/729/events","html_url":"https://github.com/pybee/batavia/issues/729","id":304178501,"number":729,"title":"GSoC: Adding support for asyncio in batavia (draft)","user":{"login":"AasthaGupta","id":15193262,"avatar_url":"https://avatars3.githubusercontent.com/u/15193262?v=4","gravatar_id":"","url":"https://api.github.com/users/AasthaGupta","html_url":"https://github.com/AasthaGupta","followers_url":"https://api.github.com/users/AasthaGupta/followers","following_url":"https://api.github.com/users/AasthaGupta/following{/other_user}","gists_url":"https://api.github.com/users/AasthaGupta/gists{/gist_id}","starred_url":"https://api.github.com/users/AasthaGupta/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AasthaGupta/subscriptions","organizations_url":"https://api.github.com/users/AasthaGupta/orgs","repos_url":"https://api.github.com/users/AasthaGupta/repos","events_url":"https://api.github.com/users/AasthaGupta/events{/privacy}","received_events_url":"https://api.github.com/users/AasthaGupta/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-03-11T17:53:05Z","updated_at":"2018-03-11T17:53:05Z","closed_at":null,"author_association":"NONE","body":"**Introduction**\r\n\r\nCurrent implementation of Batavia includes many features of python but lacks python (3.5+) asyncIO feature. Implementing asynchronous concurrent event loop will not only help in supporting this feature but also help in building infrastructure for asynchronous message passing that can be used by websockets to provide real time message passing between server and client.\r\n\r\n**Proposed Project**\r\nMy goal will be implementing the infrastructure for python asyncio functionality and connecting same with websockets to provide feature of real time message passing between server and client. Building infrastructure can be further broken down into sub-tasks as follows\r\nImplementing basic asyncio functionality\r\nWritings tests and documentation\r\nImplementing real time message passing through websockets\r\nEnhance asyncio library to support more features\r\n\r\n**Proposed Milestones**\r\n\r\n-  Implementing necessary opcodes in batavia virtual machine\r\n    Example: GET_AWAITABLE, SETUP_ASYNC_WITH, BEFORE_ASYNC_WITH\r\n    Estimated time: 1 week\r\n\r\n-  Implementing asyncio library with basic functionality\r\n    Basic functionality includes event loop creation, task creation and cooperative multitasking scheduler.\r\n    Estimated Time: 7-8 weeks\r\n\r\n-  Writing tests and Documentation\r\n    Adding necessary code for testing asyncio feature infrastructure.\r\n    Estimated Time: 1 week\r\n\r\n-  Implement real time message passing through websockets\r\n   Estimated Time: 2-3 weeks\r\n\r\n-  Enhancement\r\n   If other milestones get completed before the expected deadline, I can devote it to enhance support for \r\n   asyncio module.\r\n"}}
{"actor":{"display_login":"AasthaGupta"}}