view doc/pidgin-arch.fig @ 27795:3eef8392a54b

jabber: Add a BOSH send timer (queue up stanzas), fixes connecting to Prosody This send timer shouldn't strictly be necessary, but Prosody currently closes the TCP stream after every response (MattJ tells me there's a pipelining bug that they couldn't fix, so they just disabled it), but in my tests, the initial purple_ssl_read doesn't catch the EOF/disconnection (the read returns EAGAIN), so the prpl, while processing the response from the server, thinks that BOSH connection is still open, and tries to send to send to it. *Then*, the write input watcher triggers and read returns 0 (EOF). The request that was sent is then lost. Anyway, I've termed Prosody a fuzzer for BOSH. :-)
author Paul Aurich <paul@darkrain42.org>
date Sun, 02 Aug 2009 03:00:00 +0000
parents bda5d7407bf7
children
line wrap: on
line source

#FIG 3.2  Produced by xfig version 3.2.5-alpha5
Landscape
Center
Inches
A4      
100.00
Single
-2
1200 2
5 1 0 1 0 7 50 -1 -1 0.000 0 0 1 0 2400.000 -4500.000 6900 1500 4500 2700 2400 3000
	1 1 1.00 60.00 120.00
6 4800 825 6300 1275
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
	 4800 825 6300 825 6300 1275 4800 1275 4800 825
4 0 0 50 -1 0 12 0.0000 4 135 1050 5025 1125 Event Hooks\001
-6
6 525 375 6300 675
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
	 525 375 6300 375 6300 675 525 675 525 375
4 0 0 50 -1 0 12 0.0000 4 135 1590 2700 600 User Interface Code\001
-6
6 4800 2925 6300 3375
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
	 4800 2925 6300 2925 6300 3375 4800 3375 4800 2925
4 0 0 50 -1 0 12 0.0000 4 135 1050 5025 3225 Event Hooks\001
-6
6 300 3900 2400 6300
6 600 4800 2100 5250
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
	 600 4800 2100 4800 2100 5250 600 5250 600 4800
4 0 0 50 -1 0 12 0.0000 4 180 1185 750 5100 PrplInfo Struct\001
-6
6 525 5925 2175 6225
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
	 525 6225 2175 6225 2175 5925 525 5925 525 6225
4 0 0 50 -1 0 12 0.0000 4 135 1170 750 6150 Protocol Code\001
-6
6 300 4500 2400 6300
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
	 2400 6300 2400 4500 300 4500 300 6300 2400 6300
4 0 0 50 -1 0 12 0.0000 4 180 1275 750 5625 Protocol Plugin\001
-6
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
	1 1 1.00 60.00 120.00
	 1050 4500 1050 3900
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
	1 1 1.00 60.00 120.00
	 1350 4200 1350 4800
-6
6 3000 1350 4500 1800
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
	 3000 1350 4500 1350 4500 1800 3000 1800 3000 1350
4 0 0 50 -1 0 12 0.0000 4 135 810 3300 1650 Callbacks\001
-6
6 7200 1425 8700 1875
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
	 7200 1425 8700 1425 8700 1875 7200 1875 7200 1425
4 0 0 50 -1 0 12 0.0000 4 135 810 7500 1725 Callbacks\001
-6
6 7200 3525 8700 3975
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
	 7200 3525 8700 3525 8700 3975 7200 3975 7200 3525
4 0 0 50 -1 0 12 0.0000 4 135 810 7500 3825 Callbacks\001
-6
6 2100 3900 4800 6300
6 3000 4800 4500 5250
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
	 3000 4800 4500 4800 4500 5250 3000 5250 3000 4800
4 0 0 50 -1 0 12 0.0000 4 180 1185 3150 5100 PrplInfo Struct\001
-6
6 2925 5925 4575 6225
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
	 2925 6225 4575 6225 4575 5925 2925 5925 2925 6225
4 0 0 50 -1 0 12 0.0000 4 135 1170 3150 6150 Protocol Code\001
-6
6 2700 4500 4800 6300
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
	 4800 6300 4800 4500 2700 4500 2700 6300 4800 6300
4 0 0 50 -1 0 12 0.0000 4 180 1275 3150 5625 Protocol Plugin\001
-6
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
	1 1 1.00 60.00 120.00
	 3750 4200 3750 4800
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
	1 1 1.00 60.00 120.00
	 3000 4500 2100 3900
-6
6 600 2700 2400 3900
6 900 3075 2025 3525
4 0 0 50 -1 0 12 0.0000 4 180 975 975 3225 Pidgin Core\001
4 0 0 50 -1 0 12 0.0000 4 180 1110 900 3450 Functionality\001
-6
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
	 600 2700 2400 2700 2400 3900 600 3900 600 2700
-6
6 4800 1350 6300 1800
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
	 4800 1350 6300 1350 6300 1800 4800 1800 4800 1350
4 0 0 50 -1 0 12 0.0000 4 180 1365 4875 1650 UiOps Structures\001
-6
6 6900 2400 9000 4200
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
	 9000 4200 9000 2400 6900 2400 6900 4200 9000 4200
4 0 0 50 -1 0 12 0.0000 4 180 975 7500 2925 Core Plugin\001
-6
6 6900 300 9000 2100
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
	 9000 2100 9000 300 6900 300 6900 2100 9000 2100
4 0 0 50 -1 0 12 0.0000 4 180 780 7500 825 UI Plugin\001
-6
6 5700 4950 8625 5550
4 0 0 50 -1 0 16 0.0000 4 180 1965 6150 5175 A Brief Overview\001
4 0 0 50 -1 0 16 0.0000 4 240 2895 5700 5475 Of the Pidgin Architecture\001
-6
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
	 6600 2100 6600 300 300 300 300 2100 6600 2100
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
	1 1 1.00 60.00 120.00
	 5550 2400 5550 1800
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
	1 1 1.00 60.00 120.00
	 5100 2925 4200 1800
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
	1 1 1.00 60.00 120.00
	 1050 2100 1050 2700
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
	 6600 4200 6600 2400 300 2400 300 4200 6600 4200
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
	1 1 1.00 60.00 120.00
	 6900 3600 2400 3600
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
	1 1 1.00 60.00 120.00
	 6300 1050 7200 1575
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
	1 1 1.00 60.00 120.00
	 6300 3000 7200 1725
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
	1 1 1.00 60.00 120.00
	 6300 3150 7200 3750
4 1 0 50 -1 0 12 0.0000 4 135 1110 1125 1275 User Interface\001
4 0 0 50 -1 0 12 0.0000 4 135 390 3225 3375 Core\001