Difference between revisions of "SoC Ideas Network Stack Rewrite"

From The Battle for Wesnoth Wiki
m
(Additional Information: added some questions)
Line 12: Line 12:
 
* ability for wesnoth client to multiplex connections to wesnoth server (allow client to connect to wesnoth server multiple times)
 
* 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)
 
* 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?

Revision as of 01:05, 28 March 2010


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?