HylaFAX The world's most advanced open source fax server

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [hylafax-users] 4.2.5: non ecm sending sessions logged at smaller chunks



Giulio Orsero wrote:

===== before 4.2.5, non ecm (about 1k of data per line):
Feb 27 10:35:36.69: [19827]: <-- data [1054]
Feb 27 10:35:37.28: [19827]: <-- data [1028]
Feb 27 10:35:38.48: [19827]: <-- data [1029]
Feb 27 10:35:39.06: [19827]: <-- data [1054]
Feb 27 10:35:40.20: [19827]: <-- data [1026]
Feb 27 10:35:40.82: [19827]: <-- data [1046]
Feb 27 10:35:41.97: [19827]: <-- data [1035]
Feb 27 10:35:42.57: [19827]: <-- data [1026]

===== after 4.2.5, non ecm (about 80/90 bytes of data per line):
Mar 29 12:44:09.47: [ 7508]: <-- data [92]
Mar 29 12:44:09.47: [ 7508]: <-- data [94]
Mar 29 12:44:09.47: [ 7508]: <-- data [90]
Mar 29 12:44:09.47: [ 7508]: <-- data [80]
Mar 29 12:44:09.47: [ 7508]: <-- data [79]
Mar 29 12:44:09.47: [ 7508]: <-- data [79]
Mar 29 12:44:09.47: [ 7508]: <-- data [82]
Mar 29 12:44:10.08: [ 7508]: <-- data [80]
Mar 29 12:44:10.08: [ 7508]: <-- data [86]

obviuosly the log file gets bigger.

Is there any reason or setting to enable/disable this?


Hrmm... I cannot reproduce it yet. Both ECM and non-ECM sessions look like this:


Mar 29 11:46:25.81: [28389]: <-- [11:AT+FTM=146\r]
Mar 29 11:46:25.83: [28389]: --> [7:CONNECT]
Mar 29 11:46:25.83: [28389]: DELAY 400 ms
Mar 29 11:46:26.22: [28389]: MODEM set XON/XOFF/FLUSH: input interpreted, output disabled
Mar 29 11:46:26.23: [28389]: SEND begin page
Mar 29 11:46:26.23: [28389]: <-- data [1024]


That's a non-ECM session, data being sent in MR compression.

There were no changes between 4.2.3 and 4.2.5 that would have had any affect here. The 4.2.4/4.2.5 releases were, for the most part, security updates. Perhaps on Feb 27 you were using a version older than 4.2.3?

Here's the function that sends that data to the modem:

bool
ClassModem::putModemDLEData(const u_char* data, u_int cc, const u_char* bitrev, long ms)
{
u_char dlebuf[2*1024];
while (cc > 0) {
if (wasTimeout() || abortRequested())
return (false);
/*
* Copy to temp buffer, doubling DLE's.
*/
u_int i, j;
u_int n = fxmin((size_t) cc, sizeof (dlebuf)/2);
for (i = 0, j = 0; i < n; i++, j++) {
dlebuf[j] = bitrev[data[i]];
if (dlebuf[j] == DLE)
dlebuf[++j] = DLE;
}
if (!putModem(dlebuf, j, ms))
return (false);
data += n;
cc -= n;
}
return (true);
}


You can see that the size of the data being sent in each putModem call is constrained by half the size of the buffer (thus 1024) and "cc", which is the number of bytes being delivered to this function. Are you using Class 1 or Class 2?

Lee.

____________________ HylaFAX(tm) Users Mailing List _______________________
 To subscribe/unsubscribe, click http://lists.hylafax.org/cgi-bin/lsg2.cgi
On UNIX: mail -s unsubscribe hylafax-users-request@xxxxxxxxxxx < /dev/null
 *To learn about commercial HylaFAX(tm) support, mail sales@xxxxxxxxx*




Project hosted by iFAX Solutions