Login
user:
pass:
register
Menu
Home
Wiki
Wiki Home
Last Changes
Rankings
List pages
Orphan pages
Sandbox
Rankings
Search
in:
Entire Site
Wiki Pages
Forums
Forum: DCCP-TP
Forums
->
DCCP-TP
->
Units
[
prev topic
|
next topic
]
ckoliver
Units
Hi Tom,
what unit are using for representing bit rates (for xBps, xAllowed and so on)? Megabits, Megabytes?
Thanks in advance,
Cristian
on
: Thu 13 of Aug, 2009 [18:15 UTC]
reads: 1486
Posted messages
Style
Plain
Threaded
Headers Only
Sort
Newest first
Oldest first
Find
author
message
trphelan
Re: Units
on
: Thu 13 of Aug, 2009 [19:40 UTC]
Hi Cristian,
The code uses 64-bit fixed point math and can represent numbers between + or minus 9 billion with 9 decimal places (actual range is 9,223,372,036.854775807 to -9,223,372,036.854775807), so bit rates are in bits/second, without scaling.
See
http://www.phelan-4.com/dccp-tp/dccp-tp-r0.10/core/ccid3/fixedPointMath.c.
Tom P.
> Hi Tom,
> what unit are using for representing bit rates (for xBps, xAllowed and so on)? Megabits, Megabytes?
> Thanks in advance,
> Cristian
author
message
ckoliver
Re: Units
on
: Tue 25 of Aug, 2009 [01:41 UTC]
Hi Tom,
sorry if the answers for my questions are too trivial.
I coded a video server and client using DCCP/CCID3. The videoserver sends about 53,000 packets to the videoclient.
The video is transmitted perfectly... but I have doubts about the rate control mechanism.
I changed ccid3SenderRcvAckblePacket function (ccid3Sender.c) to dumpInfo in the end:
static int ccid3SenderRcvAckblePacket(dctpSocket *sock, dctpPacket *pkt) {
ccid3SenderInfo *info = sock->ccidSenderInfo;
fixedp now, wInit;
...
checkForXmits(sock);
dumpInfo(info,now, "from");
return(0);
}
However, the values were printed just once, as soon I started the videoserver. Then, ccid3SenderRcvAckblePacket is called just once, isn't? The function shouldn't be called several times during the transmission?
ckoliver@polentao lprocess
$ ./dccp-tp &
1
10349
ckoliver@polentao lprocess
$ dccp-tp:
-1208968480
: main: dccp-tp running attached
videoclient -a 200.233.27.213 1>>trash2 2>>trash1
dccp-tp:
-1240441968
: addFeatures: changing local 1:CCID
dccp-tp:
-1240441968
: addFeatures: changing local 6:Send Ack Vector
dccp-tp:
-1240441968
: addFeatures: changing remote 1:CCID
dccp-tp:
-1240441968
: addFeatures: changing remote 6:Send Ack Vector
dccp-tp:
-1219462256
: ccid3SenderOpen: opening CCID3 for client
dccp-tp:
-1219462256
: ccid3RcvrOpen: opening CCID3 for client
dccp-tp:
-1219462256
: addFeatures: confirming local 1:CCID
dccp-tp:
-1219462256
: addFeatures: confirming local 6:Send Ack Vector
dccp-tp:
-1219462256
: addFeatures: confirming remote 1:CCID
dccp-tp:
-1219462256
: addFeatures: confirming remote 6:Send Ack Vector
dccp-tp:
-1219462256
: from: server = 0
dccp-tp:
-1219462256
: from: tIpi = 0.5
dccp-tp:
-1219462256
: from: segSize = 1422.0
dccp-tp:
-1219462256
: from: xInst = 0.0
dccp-tp:
-1219462256
: from: rttSamp = 0.0
dccp-tp:
-1219462256
: from: rtt = 0.5
dccp-tp:
-1219462256
: from: p = 0.0
dccp-tp:
-1219462256
: from: xBps = 0.0
dccp-tp:
-1219462256
: from: xAllowed = 2844.0
dccp-tp:
-1219462256
: from: int 0, start 0, end 0, dataLen 0
dccp-tp:
-1219462256
: from: int 1, start 0, end 0, dataLen 0
dccp-tp:
-1219462256
: from: int 2, start 0, end 0, dataLen 0
dccp-tp:
-1219462256
: from: int 3, start 0, end 0, dataLen 0
dccp-tp:
-1219462256
: from: int 4, start 0, end 0, dataLen 0
dccp-tp:
-1219462256
: from: int 5, start 0, end 0, dataLen 0
dccp-tp:
-1219462256
: from: int 6, start 0, end 0, dataLen 0
dccp-tp:
-1219462256
: from: int 7, start 0, end 0, dataLen 0
dccp-tp:
-1208972400
: dispatchTimer: new timer worker 0x8e907f0
ckoliver@polentao lprocess
$
Besides, note that xAllowed is just around 2kbps (that's the reazon for asking about its unit)...
By the way, who does really adjust the sender rate to xAllowed? And how (delaying the sender by sleeping?)?
Thanks in advance,
Cristian
author
message
trphelan
Re: Units
on
: Tue 25 of Aug, 2009 [15:33 UTC]
Hi Cristian,
I'm traveling this week so it'll be difficult for me to look at this right now. It does look a little weird. I'll take a closer look next week and get back to you.
Tom P.
> Hi Tom,
> what unit are using for representing bit rates (for xBps, xAllowed and so on)? Megabits, Megabytes?
> Thanks in advance,
> Cristian
author
message
ckoliver
Re: Units
on
: Tue 25 of Aug, 2009 [16:42 UTC]
OK Tom!
Thank you very much!
Cristian
author
message
ckoliver
Re: Units
on
: Fri 11 of Sep, 2009 [15:28 UTC]
Hi Tom,
Sorry for my mistake!
In fact, the initial rate is 2844.0 bps. It is halfed until reaching the minimum rate of 21.875 bps, maintaining that value.
I believe CCID-2 is more appropriate for my application.
Thank you very much!
Cristian
ckoliver@polentao lprocess
$ more trash1
xAllowed = 2844.0
ccid3: got slow receiver
ccid3: got slow receiver
xAllowed = 2844.0
ccid3: got slow receiver
ccid3: got slow receiver
xAllowed = 2844.0
ccid3: got slow receiver
ccid3: got slow receiver
xAllowed = 2844.0
ccid3: got slow receiver
ccid3: got slow receiver
xAllowed = 2844.0
ccid3: got slow receiver
ccid3: got slow receiver
xAllowed = 1422.0
ccid3: got slow receiver
ccid3: got slow receiver
xAllowed = 711.0
ccid3: got slow receiver
ccid3: got slow receiver
xAllowed = 355.5
ccid3: got slow receiver
ccid3: got slow receiver
xAllowed = 177.75
ccid3: got slow receiver
ccid3: got slow receiver
xAllowed = 88.875
ccid3: got slow receiver
ccid3: got slow receiver
xAllowed = 44.4375
ccid3: got slow receiver
ccid3: got slow receiver
xAllowed = 22.21875
ccid3: got slow receiver
ccid3: got slow receiver
xAllowed = 21.875
ccid3: got slow receiver
ccid3: got slow receiver
xAllowed = 21.875
...
Show posts:
All posts
Last hour
Last 24 hours
Last 48 hours