GoLang EvStat::attr

request it (394)
GoLang replacement for PHP's EvStat::attr [edit | history]



Do you know a GoLang replacement for PHP's EvStat::attr? Write it!

PHP EvStat::attr

PHP original manual for EvStat::attr [ show | php.net ]

EvStat::attr

(PECL ev >= 0.2.0)

EvStat::attrReturns the values most recently detected by Ev

Description

public array EvStat::attr ( void )

Returns array of the values most recently detected by Ev

Parameters

This function has no parameters.

Return Values

Returns array with the values most recently detect by Ev(without actual stat 'ing):

List for item keys of the array returned by EvStat::attr()
Key Description
'dev' ID of device containing file
'ino' inode number
'mode' protection
'nlink' number of hard links
'uid' user ID of owner
'size' total size, in bytes
'gid' group ID of owner
'rdev' device ID (if special file)
'blksize' blocksize for file system I/O
'blocks' number of 512B blocks allocated
'atime' time of last access
'ctime' time of last status change
'mtime' time of last modification

See stat(2) man page for details.

Examples

Example #1 Monitor changes of /var/log/messages

<?php
// Use 10 second update interval.
$w = new EvStat("/var/log/messages"8, function ($w) {
    echo 
"/var/log/messages changed\n";

    
$attr $w->attr();

    if (
$attr['nlink']) {
        
printf("Current size: %ld\n"$attr['size']);
        
printf("Current atime: %ld\n"$attr['atime']);
        
printf("Current mtime: %ld\n"$attr['mtime']);
    } else {
        
fprintf(STDERR"`messages` file is not there!");
        
$w->stop();
    }
});

Ev::run();
?>

See Also