Пример #1
0
 void OpenFile()
 {
     Libeio.open(file, OpenFlags.O_RDONLY, FilePermissions.ALLPERMS, (fd, err) => {
         this.sourceFd = fd;
         if (fd == -1)
         {
             completed = true;
             Console.Error.WriteLine("Error sending file '{0}' errno: '{1}'", file, err);
         }
         else
         {
             Libeio.fstat(fd, (r, stat, error) => {
                 if (r == -1)
                 {
                     completed = true;
                 }
                 else
                 {
                     length = stat.st_size;
                     target.ResumeWriting();
                 }
             });
         }
     });
 }
Пример #2
0
 void OpenFile()
 {
     this.sourceFd = Syscall.open(file, OpenFlags.O_RDONLY, FilePermissions.ACCESSPERMS);
     if (sourceFd == -1)
     {
         completed = true;
         Console.Error.WriteLine("Error sending file '{0}' error: '{1}'", file, Syscall.GetLastError());
     }
     else
     {
         Stat stat;
         var  r = Syscall.fstat(sourceFd, out stat);
         if (r == -1)
         {
             completed = true;
         }
         else
         {
             length = stat.st_size;
             target.ResumeWriting();
         }
     }
 }