コード例 #1
0
 private bool makeDataAvailable(long n)
 {
     if (n >= bufferStart && n < bufferStart + bufferDataSize)
     {
         return(true);
     }
     if (reader is cape.SeekableReader)
     {
         var block    = n / bufferSize;
         var blockPos = block * bufferSize;
         if (readPos != blockPos)
         {
             if (((cape.SeekableReader)reader).setCurrentPosition((long)blockPos) == false)
             {
                 return(false);
             }
             readPos = blockPos;
         }
     }
     bufferDataSize = (long)reader.read(buffer);
     bufferStart    = readPos;
     readPos       += bufferDataSize;
     if (n >= bufferStart && n < bufferStart + bufferDataSize)
     {
         return(true);
     }
     return(false);
 }
コード例 #2
0
ファイル: cape.PrintReader.cs プロジェクト: eqela/jkop4uwp
 public virtual int read(byte[] buffer)
 {
     if (reader == null)
     {
         return(-1);
     }
     return(reader.read(buffer));
 }
コード例 #3
0
        public byte[] read1()
        {
            if (!(reader != null))
            {
                return(null);
            }
            if (!(buffer1 != null))
            {
                buffer1 = new byte[1];
            }
            var r = reader.read(buffer1);

            if (!(r == 1))
            {
                close();
                return(null);
            }
            return(buffer1);
        }
コード例 #4
0
ファイル: cape.Buffer.cs プロジェクト: eqela/jkop4uwp
        public static byte[] readFrom(cape.Reader reader)
        {
            if (reader == null)
            {
                return(null);
            }
            byte[] v   = null;
            var    tmp = new byte[1024];

            while (true)
            {
                var r = reader.read(tmp);
                if (r < 1)
                {
                    break;
                }
                v = cape.Buffer.append(v, tmp, (long)r);
                if (v == null)
                {
                    break;
                }
            }
            return(v);
        }