⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 room.h

📁 chord 源码 http://pdos.csail.mit.edu/chord/
💻 H
字号:
#ifndef _ROOM_H_#define _ROOM_H_#include <vec.h>#include <dhash_common.h>#include <dhashclient.h>#include "mud_obj.h"#include "thing.h"typedef callback<void, dhash_stat>::ref lookup_cb_t;typedef callback<void, dhash_stat, ptr<mud_obj> >::ref tlookup_cb_t;class room: public mud_obj {    ref<dhashclient> dhash;  chordID tID;  vec<ref<mud_obj> > tlist;  chordID aID;  vec<ref<mud_obj> > alist; //List of avatars  char *buf;  uint nsize () {        uint sz = 4*USZ + north.get_name ().len ()       + south.get_name ().len ()      + east.get_name ().len ()      + west.get_name ().len ();    return sz;  }#if 1  uint tsize () {    uint sz = 0;    for (uint i=0; i<tlist.size (); i++)      sz += USZ + tlist[i]->get_name ().len ();    return USZ + sz;  };  uint asize () {    uint sz = 0;    for (uint i=0; i<alist.size (); i++)      sz += USZ + alist[i]->get_name ().len ();    return USZ + sz;  };#endif  void init_tlist_lookup_cb (lookup_cb_t, dhash_stat, ptr<dhash_block>,			     vec<chordID>); public:  mud_obj north;  mud_obj south;  mud_obj east;  mud_obj west;  room (str n, ref<dhashclient> d) : mud_obj (n), dhash (d), buf (NULL),     north (str("")), south (str("")), east (str("")), west (str("")) { #if 0    str tname, aname;    tname << this->get_name () << ".tlist";    tID = compute_hash (tname.cstr (), tname.len ());    aname << this->get_name () << ".alist";    aID = compute_hash (aname.cstr (), aname.len ());#endif  };    room (char *, uint, ref<dhashclient> d);  ~room () { };    void init (lookup_cb_t);   char *bytes ();  uint size () {    return (2*USZ + get_name ().len () + describe ().len () + nsize ()	    + tsize () + asize ());  };    void place (ref<mud_obj> t);   void remove (ref<mud_obj> t);  void enter (ref<mud_obj> a) { alist.push_back (a); };  void leave (ref<mud_obj> a);  vec<ref<mud_obj> > avatars () { return alist; };  vec<ref<mud_obj> > things () { return tlist; };  str to_str ();};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -