SoC Ideas Network Stack Rewrite

From The Battle for Wesnoth Wiki
Revision as of 01:05, 28 March 2010 by Crab (talk | contribs) (Additional Information: added some questions)


This page is related to Summer of Code 2010
See the list of Summer of Code 2010 Ideas



This is a Summer of Code 2010 Idea


Description

Rewrite wesnoth network stack using boost::asio

Rewrite wesnoth network stack using boost::asio.

Additional Information

Currently, wesnoth uses 'sdl net' for network layer. There's a number of issues with it. We want to recode wesnoth network layer (wesnothd server, wesnoth client, stats uploader) using a framework like boost::asio. Features wanted:

  • proxy support.
  • configurable timeout value for connections.
  • ability for wesnoth client to multiplex connections to wesnoth server (allow client to connect to wesnoth server multiple times)
  • ability to use wesnoth network client with a different c++ backend (e.g., use wesnoth network client as a library)

Questions

  • what types of proxies we can support, if we code a network stack using boost::asio, and how hard it'll be ?
  • what general architecture for the client you're going to use ?
  • what general architecture for the server you're going to use ?
  • how you'd allow the wesnoth client to multiplex connections to wesnoth server ?
  • how you'd make it possible to use wesnoth network client with a different c++ backend?
  • what problems and potential pitfalls do you see in the task?