tango.io.device.Conduit 翻译

tango.io.device.Conduit (r4809)

License:

BSD style: see license.txt

Version:

Mar 2004: Initial release

Author:

Kris

class Conduit : IConduit #
管道抽象基类,实现接口 IConduit。仅有管道特有的 read()write()detach()bufferSize()需要被一个具体管道实现中实现。 File是一个例子。
管道提供虚拟化访问外部内容,表示象文件或因特网连接这样的东西。管道揭示了一对流,在 tango.io.model.IConduit中模型化,通过如 File & SocketConduit这样的类实现。

别的管道各类也很容易构造:你可以继承tango.io.device.Conduit或实现tango.io.model.IConduit。一个管道典型地读或写(从/到)大块数据的缓冲区,典型的是整个缓冲区。另外,你可以直接调用input.read(dst[])/output.write(src[])

this() #
为异步容积进行测试。当它在一个 fiber中被创建并且在被调用时有一个高度器被绑定到 fiber时,调度被申请( eligable)。
注意 fibers可以在一段时间仅为一个显著的 I/O请求安排( schedule)。
~this() #
收集后清理。见方法 detach()
char[] toString() [abstract] #
返回这个管道的名字。
size_t bufferSize() [abstract] #
为这个缓冲管道 I/O返回优先尺寸。
size_t read(void[] dst) [abstract] #
从一个管道读到一个目标数组。提供的 dst会与管道中的内容一起组合( populated)。
返回读取的字节数,它可以小于 dst中被请求的。每当 end-of-flow(流末端)条件发生时返回 Eof
size_t write(void [] src) [abstract] #
从源数组写到管道。提供的 src内容会被写到管道。
返回已写的字节数,它可以小于 dst中被请求的。每当 end-of-flow(流末端)条件发生时返回 Eof
void detach() [abstract] #
断开这个管道。注意这将会同时被用户显式调用,被 GC隐式调用。一定要正确地管理多重分离( detachment )请求:设置一个标志,或必要时设一个哨符值( sentinel value)。
void timeout(uint millisec) [final] #
为异步 IO调用设置活动持续期。
uint timeout() [final] #
为异步 IO调用获取活动持续期。
bool isAlive() #
这个管道还活着吗?默认行为返回 true
IConduit conduit() [final] #
返回宿主( host)。这是流接口的部分。
IOStream flush() #
发射缓冲区输出或重置缓冲区输入。
void close() #
关闭这个管道。

备注:

包括输入和输出被分离,不再可用。
InputStream input() [final] #
返回输入流。
OutputStream output() [final] #
返回输出流。
void error(char[] msg) [final] #
用提供的消息抛出一个 IOException
OutputStream copy(InputStream src, size_t max = -1) #
转移另一个管道内容到这个。返回 dst输出流,在失败时抛出 IOException
void[] load(size_t max = -1) #
加载一个流中的所有位,并返回一个数组中的所有位。 dst数组可以作为一个选项提供,必要时将会被扩展到消耗输入。
返回表示内容的一个数组,错误发生时抛出 IOException
long seek(long offset, Anchor anchor = Anchor.Begin) #
在这个流中搜索( seek)。源管道不支持搜索会抛出一个 IOException
void[] load(InputStream src, size_t max = -1) [static] #
加载一个流中的所有位,并返回一个数组中的所有位。 dst数组可以作为一个选项提供,必要时将会被扩展到消耗输入。
返回表示内容的一个数组,错误发生时抛出 IOException
size_t transfer(InputStream src, OutputStream dst, size_t max = -1) [static] #
低级的数据传送 ,max表示要转移的最大字节数。
  如果执行失败返回 Eof,成功返回已复制的字节数。
class InputFilter : InputStream #
输入流过滤器的基类。
this(InputStream source) #
绑定到提供的流。提供的源流一般绝不会是 null,尽管某些过滤器有懒惰地这样设置需要。
IConduit conduit() #
返回宿主管道。
size_t read(void[] dst) #
从管道读取内容到一个目标数组。提供的 dst会与管道中的内容组合。
返回读取的字节数,它可以小于 dst中请求的。每当一个 end-of-flow (流末端)情况发生时返回 Eof
void[] load(size_t max = -1) #
从一个流中加载位,并返回在一个数组中的所有位。 dst可以作为一个选项提供,必要时它可以被扩展去消耗输入。
返回一个表示内容的数组,错误时抛出 IOException
IOStream flush() #
清除任何已缓冲的内容。
long seek(long offset, Anchor anchor = Anchor.Begin) #
对这个流搜索( Seek)。目标管道不支持搜索会抛出一个 IOException
InputStream input() #
返回该过滤器的上游宿主。
void close() #
关闭输入。
class OutputFilter : OutputStream #
输出流过滤器的基类。提供的搜索流一般绝不会是 null,尽管某些过滤器有懒惰地这样设置的需要。
this(OutputStream sink) #
绑定提供的流。
IConduit conduit() #
返回宿主管道。
size_t write(void[] src) #
从一个源数组写到管道。提供的 src内容会被写到管道。
返回从 src中写的字节数,它可以比提供的数量少。当一个 end-of-flow(流尾)情况发生时返回 Eof
OutputStream copy(InputStream src, size_t max = -1) #
传送另一个管道的内容到这个中。返回到这个类的引用,失败抛出 IOException
IOStream flush() #
发射 /清除( Emit/purge)缓冲内容。
long seek(long offset, Anchor anchor = Anchor.Begin) #
对这个流搜索( Seek)。目标管道不支持搜索会抛出一个 IOException
OutputStream output() #
返回这个过滤器的上游宿主。
void close() #
关闭输出。

Copyright (c) 2004 Kris Bell. All rights reserved :: Generated by dil on Wed Jul 22 18:18:52 2009. Rendered by kandil.

你可能感兴趣的:(活动)