Sure. No problem. I am going to show you some of my test and the results.
childpath.add("img/clink/clinklittle128.png");------------A(very large, nearly10Mb)
childpath.add("js/preloadjs.min.js"); ------------B(medium)
childpath.add("index.html"); ------------C(small,but larger than D)
childpath.add("css/infocard.css"); ------------D(small)
Test 1:
send A:
on succeed{
send B(dependency:A,weight:255,exclusive:false)
send C(dependency:A,weight:255,exclusive:false)
send D(dependency:A,weight:255,exclusive:false)
}
Result:
Receive A headers
Some of A dataframe(not too much)
B,C,D headers
all the A dataframe
receive B dataframe(part of them)
receive C dataframe(all)
receive D dataframe(part of them)
receive B dataframe(all)
receive D dataframe(all)
Test 2:
send A:
on succeed{
send B(dependency:A,weight:255,exclusive:true)
send C(dependency:A,weight:255,exclusive:false)
send D(dependency:A,weight:255,exclusive:false)
}
Result:
Receive A headers
Some of A dataframe(not too much)
B,C,D headers
all the A dataframe
receive B dataframe(part of them)
receive C dataframe(all)
receive D dataframe(part of them)
receive B dataframe(all)
receive D dataframe(all)
Test 3:
send A:
on succeed{
send B(dependency:A,weight:255,exclusive:false)
send C(dependency:A,weight:255,exclusive:true)
send D(dependency:A,weight:255,exclusive:false)
}
Result:
Receive A headers
Some of A dataframe(not too much)
B,C,D headers
all the A dataframe
receive C dataframe(all)
receive D dataframe(all)
receive B dataframe(all)
Test 4:
send A:
on succeed{
send B(dependency:A,weight:255,exclusive:false)
send C(dependency:A,weight:255,exclusive:true)
send D(dependency:A,weight:255,exclusive:true)
}
Result:
Receive A headers
Some of A dataframe(not too much)
B,C,D headers
all the A dataframe
receive D dataframe(all)
receive B dataframe(part)
receive C dataframe(part)
receive B dataframe(all)
receive C dataframe(all)
Test 5:
send A:
on succeed{
send B(dependency:A,weight:255,exclusive:false)
send C(dependency:A,weight:255,exclusive:true)
send D(dependency:A,weight:255,exclusive:true)
}
Result:
Receive A headers
Some of A dataframe(not too much)
B,C,D headers
all the A dataframe
receive D dataframe(all)
receive C dataframe(all)
receive B dataframe(all)
Test 6:
send A:
on succeed{
send B(dependency:A,weight:255,exclusive:false)
send D(dependency:A,weight:255,exclusive:true)
send C(dependency:A,weight:255,exclusive:true)
}
Result:
Receive A headers
Some of A dataframe(not too much)
B,C,D headers
all the A dataframe
receive C dataframe(all)
receive D dataframe(all)
receive B dataframe(all)
Test 7:
send A:
on succeed{
send B(dependency:A,weight:1,exclusive:True)
send C(dependency:A,weight:255,exclusive:false)
send D(dependency:A,weight:255,exclusive:false)
}
Result:
Receive A headers
Some of A dataframe(not too much)
B,C,D headers
all the A dataframe
receive C dataframe(all)
receive D dataframe(all)
receive B dataframe(all)
It seems Jetty client part is okay. It has sent the priority frame out. Maybe some logic about exclusive in the h2o server is not so good.
Best Regards
Muhui Jiang