Mojo::Asset

作者: JSON_NULL | 来源:发表于2017-09-30 11:54 被阅读6次

    简介

    package Mojo::Asset::MyAsset;
    use Mojo::Base 'Mojo::Asset';
    
    sub add_chunk {...}
    sub contains  {...}
    sub get_chunk {...}
    sub move_to   {...}
    sub mtime     {...}
    sub size      {...}
    sub slurp     {...}
    

    Mojo :: Asset是HTTP内容存储抽象基类,其子类有Mojo :: Asset :: File和Mojo :: Asset :: Memory。

    事件

    Mojo::Asset从Mojo::EventEmitter中继承了所有事件。

    属性

    end_range

    my $end = $asset->end_range;
    $asset  = $asset->end_range(8);
    

    可用内容的结束位置。这本就是一个存储内容的对象,但有时候并不需要使用这个对象中的所有内容,使用这个属性可以设置可用内容到哪儿结束。

    start_range

    my $start = $asset->start_range;
    $asset    = $asset->start_range(3);
    

    可用内容的开始位置。这本就是一个存储内容的对象,但有时候并不需要使用这个对象中的所有内容,使用这个属性可以设置可用内容到哪儿开始。

    方法

    Mojo::Asset继承了Mojo::EventEmitter中的所有方法,并实现以下方法。

    add_chunk

    $asset = $asset->add_chunk('foo bar baz');
    

    将大量数据添加到当前对象表示的存储中。需要在子类用重载。

    contains

    my $position = $asset->contains('bar');
    

    检查当前对象表示的存储中时否包含特定的字符串。如果包含,则返回第一次发现字符串的位置,如果不包含则返回-1。需要在子类中重载。

    get_chunk

    my $bytes = $asset->get_chunk($offset);
    my $bytes = $asset->get_chunk($offset, $max);
    

    从特定位置获取数据块,默认最大块为131072(128KiB)。需要在子类中重载。

    is_file

    my $bool = $asset->is_file;
    

    如果当前对象是一个Mojo::Asset::File对象则返回true,否则返回false。

    is_range

    my $bool = $asset->is_range;
    

    检查当前对象是否有start_range和end_range。如果有其中的任何一个则返回true,否则返回false。

    move_to

    $asset = $asset->move_to('/home/sri/foo.txt');
    

    将当前对象中的内容存储到指定的文件中。需要在子类用重载。

    mtime

    my $mtime = $asset->mtime;
    

    当前对象的最后一次修改时间。需要在子类中重载。

    size

    my $size = $asset->size;
    

    当前对象的大小。需要在子类中重载。

    slurp

    my $bytes = $asset->slurp;
    

    一次性读取并返回对象中的所有数据。需要在子类中重载。

    a

    相关文章

      网友评论

      本文标题:Mojo::Asset

      本文链接:https://www.haomeiwen.com/subject/pspgextx.html