clrghouz/app/Classes/File/Mail.php

38 lines
729 B
PHP

<?php
namespace App\Classes\File;
use Carbon\Carbon;
use App\Classes\FTN\Packet;
class Mail extends Item
{
private Packet $file;
/**
* @throws \Exception
*/
public function __construct(Packet $mail,int $action)
{
$this->action |= $action;
switch ($action) {
case self::I_SEND:
$this->file = $mail;
$this->file_name = sprintf('%s.pkt',$mail->name);
$this->file_size = strlen($mail);
$this->file_mtime = Carbon::now()->timestamp; // @todo This timestamp should be consistent incase of retries
break;
default:
throw new \Exception('Unknown action: '.$action);
}
}
public function read(int $start,int $length): string
{
return substr((string)$this->file,$start,$length);
}
}