annotate doc/xfer-signals.dox @ 12360:3153661f4d5c

[gaim-migrate @ 14664] Faceprint is concerned about 2 things: 1)some of the random colors are very close together. as best we can tell, there are two ways to fix this 1a) for each proposed color, iterate the entire list of selected colors, looking to ensure that it is not too close to any of them. this is an O(n^2) operation, with n >= 220 (the current number of colors we look for) 1b) iterate the entire set of possible colors, skipping ahead by some guess (rather than iterating by 1). this is an O(n^3) operation, where n is 65535/(whatever we skip ahead by). This is not only a more expensive operation, but because of the nature of the color list, it is not _necessarily_ going to yield more predictable results, skipping ahead 5 (or any other number) does not necessarily guarantee that you've skipped 5 very similar colors. 2) as you can see, either solution to #1 is potentially a resource hog. #1a is a random delay, #1b is inherently expensive. How often #1a will exceed the bound #1b, if ever, is unknown. rather than doing either of these, we settled on a middle course: a .h file has been created containing a set of colors. currently the set we were previously hard coded to. Gaim will search that list for usable colors and start randomly looking only if that list does not contain sufficient usable colors. ideally this list would be generated to have colors that are known to be a "safe" distance appart, that is colors that you can tell appart. and Ideally it would have a (small) multiple of the number of colors we are searching for. This should ensure that IF we go to randomly searching, we need do so only for a few colors. Right now I have no good way to generate a "safe" list of colors though. committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Mon, 05 Dec 2005 21:46:47 +0000
parents 920a37a4c1be
children d0f7f698b6de
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11281
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
1 /** @page xfer-signals File Transfer Signals
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
2
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
3 @signals
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
4 @signal file-recv-accept
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
5 @signal file-recv-start
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
6 @signal file-recv-cancel
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
7 @signal file-recv-complete
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
8 @signal file-send-accept
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
9 @signal file-send-start
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
10 @signal file-send-cancel
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
11 @signal file-send-complete
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
12 @endsignals
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
13
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
14 <hr>
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
15
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
16 @signaldef file-recv-accept
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
17 @signalproto
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
18 void (*file_recv_accept)(GaimXfer *xfer, gpointer data);
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
19 @endsignalproto
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
20 @signaldesc
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
21 Emitted when an incoming file transfer has been accepted.
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
22 @param xfer The file transfer
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
23 @param data User data
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
24 @endsignaldef
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
25
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
26 @signaldef file-recv-start
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
27 @signalproto
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
28 void (*file_recv_start)(GaimXfer *xfer, gpointer data);
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
29 @endsignalproto
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
30 @signaldesc
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
31 Emitted when an incoming file transfer has been started.
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
32 @param xfer The file transfer
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
33 @param data User data
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
34 @endsignaldef
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
35
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
36 @signaldef file-recv-cancel
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
37 @signalproto
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
38 void (*file_recv_cancel)(GaimXfer *xfer, gpointer data);
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
39 @endsignalproto
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
40 @signaldesc
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
41 Emitted when an incoming file transfer has been canceled.
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
42 @param xfer The file transfer
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
43 @param data User data
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
44 @endsignaldef
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
45
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
46 @signaldef file-recv-complete
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
47 @signalproto
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
48 void (*file_recv_complete)(GaimXfer *xfer, gpointer data);
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
49 @endsignalproto
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
50 @signaldesc
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
51 Emitted when an incoming file transfer has been completed.
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
52 @param xfer The file transfer
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
53 @param data User data
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
54 @endsignaldef
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
55
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
56 @signaldef file-send-accept
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
57 @signalproto
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
58 void (*file_send_accept)(GaimXfer *xfer, gpointer data);
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
59 @endsignalproto
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
60 @signaldesc
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
61 Emitted when an outgoing file transfer has been accepted.
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
62 @param xfer The file transfer
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
63 @param data User data
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
64 @endsignaldef
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
65
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
66 @signaldef file-send-start
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
67 @signalproto
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
68 void (*file_send_start)(GaimXfer *xfer, gpointer data);
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
69 @endsignalproto
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
70 @signaldesc
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
71 Emitted when an outgoing file transfer has started.
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
72 @param xfer The file transfer
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
73 @param data User data
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
74 @endsignaldef
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
75
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
76 @signaldef file-send-cancel
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
77 @signalproto
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
78 void (*file_send_cancel)(GaimXfer *xfer, gpointer data);
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
79 @endsignalproto
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
80 @signaldesc
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
81 Emitted when an outgoing file transfer has been canceled.
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
82 @param xfer The file transfer
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
83 @param data User data
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
84 @endsignaldef
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
85
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
86 @signaldef file-send-complete
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
87 @signalproto
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
88 void (*file_send_complete)(GaimXfer *xfer, gpointer data);
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
89 @endsignalproto
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
90 @signaldesc
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
91 Emitted when an outgoing file transfer has been completed.
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
92 @param xfer The file transfer
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
93 @param data User data
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
94 @endsignaldef
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
95
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
96 */
920a37a4c1be [gaim-migrate @ 13478]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
97 // vim: syntax=c tw=75 et