@ -56,7 +56,7 @@ using namespace rdr;
enum { DEFAULT_BUF_SIZE = 8192 ,
enum { DEFAULT_BUF_SIZE = 8192 ,
MIN_BULK_SIZE = 1024 } ;
MIN_BULK_SIZE = 1024 } ;
FdInStream : : FdInStream ( int fd_ , int timeoutms_ , in t bufSize_ ,
FdInStream : : FdInStream ( int fd_ , int timeoutms_ , size_ t bufSize_ ,
bool closeWhenDone_ )
bool closeWhenDone_ )
: fd ( fd_ ) , closeWhenDone ( closeWhenDone_ ) ,
: fd ( fd_ ) , closeWhenDone ( closeWhenDone_ ) ,
timeoutms ( timeoutms_ ) , blockCallback ( 0 ) ,
timeoutms ( timeoutms_ ) , blockCallback ( 0 ) ,
@ -67,7 +67,7 @@ FdInStream::FdInStream(int fd_, int timeoutms_, int bufSize_,
}
}
FdInStream : : FdInStream ( int fd_ , FdInStreamBlockCallback * blockCallback_ ,
FdInStream : : FdInStream ( int fd_ , FdInStreamBlockCallback * blockCallback_ ,
in t bufSize_ )
size_ t bufSize_ )
: fd ( fd_ ) , timeoutms ( 0 ) , blockCallback ( blockCallback_ ) ,
: fd ( fd_ ) , timeoutms ( 0 ) , blockCallback ( blockCallback_ ) ,
timing ( false ) , timeWaitedIn100us ( 5 ) , timedKbits ( 0 ) ,
timing ( false ) , timeWaitedIn100us ( 5 ) , timedKbits ( 0 ) ,
bufSize ( bufSize_ ? bufSize_ : DEFAULT_BUF_SIZE ) , offset ( 0 )
bufSize ( bufSize_ ? bufSize_ : DEFAULT_BUF_SIZE ) , offset ( 0 )
@ -92,12 +92,12 @@ void FdInStream::setBlockCallback(FdInStreamBlockCallback* blockCallback_)
timeoutms = 0 ;
timeoutms = 0 ;
}
}
in t FdInStream : : pos ( )
size_ t FdInStream : : pos ( )
{
{
return offset + ptr - start ;
return offset + ptr - start ;
}
}
void FdInStream : : readBytes ( void * data , in t length )
void FdInStream : : readBytes ( void * data , size_ t length )
{
{
if ( length < MIN_BULK_SIZE ) {
if ( length < MIN_BULK_SIZE ) {
InStream : : readBytes ( data , length ) ;
InStream : : readBytes ( data , length ) ;
@ -106,7 +106,7 @@ void FdInStream::readBytes(void* data, int length)
U8 * dataPtr = ( U8 * ) data ;
U8 * dataPtr = ( U8 * ) data ;
in t n = end - ptr ;
size_ t n = end - ptr ;
if ( n > length ) n = length ;
if ( n > length ) n = length ;
memcpy ( dataPtr , ptr , n ) ;
memcpy ( dataPtr , ptr , n ) ;
@ -123,7 +123,7 @@ void FdInStream::readBytes(void* data, int length)
}
}
int FdInStream : : overrun ( int itemSize , in t nItems , bool wait )
size_t FdInStream : : overrun ( size_t itemSize , size_ t nItems , bool wait )
{
{
if ( itemSize > bufSize )
if ( itemSize > bufSize )
throw Exception ( " FdInStream overrun: max itemSize exceeded " ) ;
throw Exception ( " FdInStream overrun: max itemSize exceeded " ) ;
@ -135,7 +135,7 @@ int FdInStream::overrun(int itemSize, int nItems, bool wait)
end - = ptr - start ;
end - = ptr - start ;
ptr = start ;
ptr = start ;
in t bytes_to_read ;
size_ t bytes_to_read ;
while ( end < start + itemSize ) {
while ( end < start + itemSize ) {
bytes_to_read = start + bufSize - end ;
bytes_to_read = start + bufSize - end ;
if ( ! timing ) {
if ( ! timing ) {
@ -147,12 +147,12 @@ int FdInStream::overrun(int itemSize, int nItems, bool wait)
// bytes is ineffecient.
// bytes is ineffecient.
bytes_to_read = vncmin ( bytes_to_read , vncmax ( itemSize * nItems , 8 ) ) ;
bytes_to_read = vncmin ( bytes_to_read , vncmax ( itemSize * nItems , 8 ) ) ;
}
}
in t n = readWithTimeoutOrCallback ( ( U8 * ) end , bytes_to_read , wait ) ;
size_ t n = readWithTimeoutOrCallback ( ( U8 * ) end , bytes_to_read , wait ) ;
if ( n = = 0 ) return 0 ;
if ( n = = 0 ) return 0 ;
end + = n ;
end + = n ;
}
}
if ( itemSize * nItems > end - ptr )
if ( itemSize * nItems > ( size_t ) ( end - ptr ) )
nItems = ( end - ptr ) / itemSize ;
nItems = ( end - ptr ) / itemSize ;
return nItems ;
return nItems ;
@ -171,7 +171,7 @@ int FdInStream::overrun(int itemSize, int nItems, bool wait)
// returning EINTR.
// returning EINTR.
//
//
in t FdInStream : : readWithTimeoutOrCallback ( void * buf , in t len , bool wait )
size_ t FdInStream : : readWithTimeoutOrCallback ( void * buf , size_ t len , bool wait )
{
{
struct timeval before , after ;
struct timeval before , after ;
if ( timing )
if ( timing )