On Thu, 2 Mar 2000, StormeRider wrote: > Ultimately speaking, you're right. However, the level of work involved > in separating the networking code ang going to a system like LP uses > with a mudlib and a driver compared to simply using a fork to exec and > then core dumping in the old process are vastly different. That isn't what I suggested -- LP implements a driver, which is little more than a VM for the LPC language. I simply suggested moving the networking code into a separate process; note that this has *nothing* in common with the driver/mudlib model (where the networking code is indeed incorporated as part of the driver), nor does the idea of using MySQL or a similar database, since LPMUD's use LPC code for such things. Also, please note that the original message was concerning more than just doing a stupid copyover on crash, which is probably more or less fail proof (although I still don't think it's a very good idea). Instead it concerned restoration of world state to make crashes almost or completely transparent to the end user. To condense my reply: It is a VERY BAD idea to implement any sort of persistent data model where the data which is to persist is stored by a process whose state is not clearly defined and cannot be trusted, i.e., one which has caused a segmentation fault. The best way, meaning quickest and least painful, is to use an existing database system, such as MySQL, to implement partial or complete world state persistence. There are MANY, MANY, MANY things which one has to consider when moving into persistent data, especially after data corruption (as would be the case with a segmentation fault). You could write the code and spend the time to account for all of these things by yourself, but it would DEFINITELY take longer than 30 minutes. Indeed, it would be a project worthy of a couple of months. There's just that much to it to do it "right." Alternatively, you can use an existing database, such as MySQL, which offers implicit persistence of data and many other features to reduce the number of things which you have to account for. -dak +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 04/10/01 PDT