32 struct linger ling = {1, 1};
34 if ( setsockopt(
socket(), SOL_SOCKET, SO_LINGER, (
const char *)&ling,
36 LOG(VB_GENERAL, LOG_ERR,
37 "BufferedSocketDevice: setsockopt - SO_LINGER: " + ENO);
139 QHostAddress hostAddress, quint16 nPort)
172 qlonglong maxToRead = 0;
178 if ( maxToRead <= 0 )
189 a =
new QByteArray();
193 a->data(), maxToRead ? std::min(nbytes, maxToRead) : nbytes);
195 if (( nread > 0 ) && ( nread != (
int)a->size() ))
206 for(
long n = 0;
n < a->count();
n++ )
207 msg += QString(
"%1").arg(a->at(
n));
208 LOG(VB_GENERAL, LOG_DEBUG, msg);
263 bool osBufferFull =
false;
280 int s = a->size() - j;
282 while ( a && i+s < (
int)out.size() )
284 memcpy( out.data()+i, a->data()+j, s );
289 s = a ? a->size() : 0;
312 consumed += nwritten;
388 int msecs,
bool *pTimeout )
390 bool bTimeout =
false;
427 if (pTimeout != NULL)
428 *pTimeout = bTimeout;
473 if ( data == 0 && maxlen != 0 )
501 bool writeNow = ( (
m_nWriteSize + len >= 1400) || (len > 512) );
503 if ( a && (a->size() + len < 128) )
509 memcpy( a->data()+i,
data,
len );
514 m_bufWrite.push_back(
new QByteArray(data, len));
530 const char *
data, qulonglong
len)
532 qlonglong nWritten = 0;
649 bool bTimeout =
false;
656 LOG(VB_UPNP, LOG_DEBUG,
"Can't Read Line... Waiting for more." );
661 if ( timer.
elapsed() >= msecs )
664 LOG(VB_UPNP, LOG_INFO,
"Exceeded Total Elapsed Wait Time." );