File: MEMO.ja

package info (click to toggle)
libnet-irc-ruby 0.14-5.1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 244 kB
  • sloc: ruby: 1,295; makefile: 80
file content (145 lines) | stat: -rw-r--r-- 5,497 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145

Ruby/IRC $B%i%$%V%i%j(B  $B3+H/%a%b(B

$B!{%b%8%e!<%k3,AX$N8+D>$7(B
IRC
IRC::Constants
IRC::Connection
IRC::Message
IRC::MessageQueue # $B%a%C%;!<%8<oJL$K$h$k%U%#%k%?%j%s%05!9=$rHw$($k(B
IRC::Agent
IRC::ActiveAgent
IRC::PassiveAgent
IRC::Client

$B!{Dc%l%Y%k(BAPI(IRC::Connection$B%/%i%9(B)
$B!vN.NL%3%s%H%m!<%k(B
$B!v(BMessage#parse$B$N8!>Z(B

$B!{%j%=!<%9!J(Brc$B%U%!%$%k!K(B
$B!vI>2ACM$,(BHash$B%*%V%8%'%/%H$G$"$k(BRuby$B%9%/%j%W%H(B
$B!v%G%U%)%k%HCM$N$?$a$KJL$K!J%f!<%6$,$$$8$i$J$$!K%9%/%j%W%H$rMQ0U!#(B

$B!{%m%05!9=(B
$B!v%(!<%8%'%s%H5!9=$K0MB8$7$J$$%7%9%F%`%m%0(B
  $B%m%0<h$j%(!<%8%'%s%H$G$O!"$3$N%(!<%8%'%s%H$N5/F0A0!&Dd;_8e$N%m%0$r(B
  $B5-O?$9$k$3$H$,$G$-$J$$!JEvA3$J$,$i!K!#(B
$B!v(Bpriority
$B!v%?%0(B

$B!{%(!<%8%'%s%H%b%G%k(B

$B!v%(!<%8%'%s%H$NFC@-(B
$B!&%9%l%C%I$NM-L5$H%a%C%;!<%8$N<u$1<h$jJ}K!!J%-%e!<!?%a%=%C%I8F=P!K(B
$B!&<u$1<h$k%a%C%;!<%8$N<oN`(B(mask)
  $B!JEvLL$O;XDj$G$-$J$/$F$b$h$$$+!)(B $BITMW$J%a%C%;!<%8$O<N$F$l$P$$$$$N$G!K(B

$B!v%(!<%8%'%s%H$NJ];}$9$k>pJs(B
$B!&(BClient
$B!&(BConnection
$B!&%(!<%8%'%s%H$N@8@.;~9o(B
$B!&$=$NB>%(!<%8%'%s%H$N>uBV(B
ActiveAgent$B8GM-(B
$B!&(Bmessage_queue
$B!&(Blog_queue(LogAgent$B$H$7$FFHN)$KDj5A$7$?$[$&$,$h$$$+!)(B)
PassiveAgent$B8GM-(B

$B!v%(!<%8%'%s%H$KBP$9$kA`:n(B
$B!&%9%l%C%I$"$j(B
  $BEPO?!&5/F0!&?J2=!&Dd;_!&:o=|(B
$B!&%9%l%C%I$J$7(B
  $BEPO?!&5/F0!&?J2=!&Dd;_!&:o=|(B
$B!&%9%l%C%I$J$7!&Hs1JB3E*(B
  $B5/F0!JEPO?$5$l$k$3$H$J$/Dd;_:o=|!K(B

$B!v%W%i%0%$%s%9%/%j%W%H;EMM(B
$B!&I>2ACM$,(Bagent$B%*%V%8%'%/%H$H$J$C$F$$$k(B
$B!&CM$,(Bnil$B$N$H$-EPO?$5$l$J$$!#(B1$B2s8B$j$N=hM}$N5-=R$KM-8z!#(B
$B!&?J2=$N:]I,MW$H$J$k5l%(!<%8%'%s%H$N>pJs$O!"(B
  $B%9%/%j%W%HI>2A8e$K(BClient$B$,I,MW$J%a%=%C%I8F=P$K$h$jDs6!$9$k!#(B
  $B$7$?$,$C$F%W%i%0%$%s%9%/%j%W%H$G$OI8=`E*$J=i4|2=$@$1$r9T$C$F(B
  $B$*$1$P$h$$!#(B
$B!&(B"syslog.api", "init.api"$B$OFCJL07$$!#(BClient#start$BFb$G5/F0$5$l$k!#(B
$B!&(Binit.api$B0J30$N(Bstart agent$B$r(BClient#start(init)$B$G;XDj$G$-$k$h$&$K$9$k!#(B

$B!v%(!<%8%'%s%H$N@8@.!&EPO?J}K!(B
$B!&%9%l%C%I$"$j(B
  $B%W%i%0%$%s%9%/%j%W%H$rI>2A$7%(!<%8%'%s%H%*%V%8%'%/%H$r@8@.$9$k!#(B
  $B?75,%9%l%C%I$r:n@.$7$=$NCf$G(Bstart$B%a%=%C%I$r8F$S=P$9!#(B
  $B%(!<%8%'%s%H%F!<%V%k$KEPO?$9$k!#(B
$B!&%9%l%C%I$J$7(B
  $B%W%i%0%$%s%9%/%j%W%H$rI>2A$7%(!<%8%'%s%H%*%V%8%'%/%H$r@8@.$9$k!#(B
  start$B%a%=%C%I$r8F$S=P$9!#$3$N$H$-(BClient$B$d(BConnection$B$J$I$rEO$9!#(B
  $B%(!<%8%'%s%H%F!<%V%k$KEPO?$9$k!#(B

$B!v%(!<%8%'%s%H$N5/F0!&?J2=!&Dd;_$N$-$C$+$1(B
$B!&5/F0(B
  startAgent$B%a%=%C%I$N8F=P!#(B
  $B<B:]$N@8@.!&5/F0;~9o$O(BThread$B$N%9%1%8%e!<%j%s%0$K0MB8!#(B
$B!&Dd;_(B
  stopAgent$B%a%=%C%I$N8F=P!#(B
  $B<B:]$N@8@.!&5/F0;~9o$O(BThread$B$N%9%1%8%e!<%j%s%0$K0MB8!#(B
$B!&?J2=(B
  message_thread$B$K$h$k%W%i%0%$%s99?78!=P!#(B
  ActiveAgent$B$X$N(Benqueue$B!&(BPassiveAgent$B$X$N(BnotifyMessage$B;~$K!"(B
  $B%(!<%8%'%s%H$N%W%i%0%$%s%9%/%j%W%H$,99?7$5$l$F$$$k$J$i$P(B
  $B0lO"$N?J2=$r9T$&!#(B
  $B?75l%(!<%8%'%s%H$,CV$-49$o$k4V$K%a%C%;!<%8$,E~Ce$7!"(B
  $BEv3:%(!<%8%'%s%H$,$3$N%a%C%;!<%8$r<u$1<h$j$=$3$J$&$3$H$,(B
  $B$J$$$h$&$K$9$k!#?J2==hM}$r(Bmessage_thread$B$,9T$&$J$i$P(B
  $B$3$NLdBj$O5/$3$i$J$$!#(Blog_thread$B$H$N4X78$O!)(B

$B!v%(!<%8%'%s%H$N?J2=J}K!(B
$B!&%9%l%C%I$"$j(B
  $B2TF/Cf$N%9%l%C%I$rNc30Aw=P$K$h$jDLCN$75l%(!<%8%'%s%HFbIt$+$i(B
  return$B$5$;$k!#$3$N(Breturn$B%9%l%C%I$O?7%(!<%8%'%s%H$r@8@.$7$F(B
  $B5l%(!<%8%'%s%H$r?7%(!<%8%'%s%H$KEO$7!"I,MW$J>pJs$r%3%T!<$5$;$k!#(B
  restart(old_agent)$B$J$I$N%a%=%C%I$rDj5A$7$F$*$/!#(B
  $B$3$N$H$-%a%C%;!<%8%-%e!<$b0z$-7Q$0!#(B
  $B$=$N8e(BClient$B$KJ];}$5$l$F$$$k5l%(!<%8%'%s%H$r?7%(!<%8%'%s%H$G(B
  $BCV$-49$($k!#(B
$B!&%9%l%C%I$J$7(B
  $B?7%(!<%8%'%s%H$r@8@.!#(B
  $B5l%(!<%8%'%s%H$r?7%(!<%8%'%s%H$KEO$7!"I,MW$J>pJs$r%3%T!<$5$;$k!#(B
  restart(old_agent)$B$J$I$N%a%=%C%I$rDj5A$7$F$*$/!#(B
  $B$=$N8e(BClient$B$KJ];}$5$l$F$$$k5l%(!<%8%'%s%H$r?7%(!<%8%'%s%H$G(B
  $BCV$-49$($k!#(B

$B!v(BClient$BFbIt$G$N%(!<%8%'%s%H4IM}(B
$BJ];}$7$F$*$/$b$N(B
$B!&%(!<%8%'%s%HL>"*%W%i%0%$%s%9%/%j%W%H(B
  $B0l0UE*$K$9$k!#4X?t$H$7$FDj5A$9$k!#(B
$B!&%(!<%8%'%s%HL>"*%(!<%8%'%s%H%*%V%8%'%/%H(B
  $B%(!<%8%'%s%H$N:F5/F0$KHw$($k!#(B
$B!&%a%C%;!<%8%-%e!<!&%a%C%;!<%8%^%9%/$NAH$N=89g(B
  Client$B$H(BActiveAgent$B$N$I$A$i$,@8@.!&4IM}!JJ];}!K$9$Y$-$+!)(B
  $B"*(BActiveAgent#{message,log}_queue == nil$B$J$i<u$1<h$i$J$$!#(B

$B!{%9%l%C%I(B
$B!&(B(main_thread)
  Client#start$B$r8F$S=P$7$?%9%l%C%I!#(Bmessage_thread$B$N=*N;$rBT$A9g$o$;$k!#(B
$B!&(Bmessage_thread
  $B%a%C%;!<%8$N(Brecv$B!&G[I[(B
  $BG[I[;~$K(BPassiveAgent#notifyMessage$BFb$K0\$k!#(B
$B!&(Blog_thread
  $B%m%0$NG[I[(B
  $BG[I[;~$K(BPassiveAgent#notifyLog$BFb$K0\$k!#(B
$B!&(B(input_thread)
$B!&(Bagent_thread
  $B<g$K(BActiveAgent$BFb$GF0:n!#(B

$B!{%*%Z%l!<%?$HFC8"L?Na$N35G0(B

$B!{2r7h$9$Y$-LdBj(B
$B!v%W%i%0%$%s%(!<%8%'%s%H$N4m81$JF0:n$KBP$9$kKI8f!JNc30Aw=P$=$NB>!K(B
$B!&%W%i%0%$%s%9%/%j%W%H$NI>2AJ}K!(B
$B!&(BAgent#start$B%a%=%C%I$N8F=P(B
$B!&(BPassiveAgent#notifyXXX$B%a%=%C%I$N8F=P(B
$B!v(BIRC$B%a%C%;!<%8(B(IRC::Message)$B$K$*$1$k(Btrailing$B$N07$$(B
  RFC$B$K$h$k$H(Bparams$B$HF1Ey$N07$$$r$9$k$3$H$K$J$C$F$$$k$,!"(B
  $B$I$&<BAu$9$k$+!)(B  $B!J8=:_$OFCJL07$$$7$F$$$k!#!K(B
$B!vIT0U$N@\B3@ZCG8e$N<+F02sI|(B

----
Hiroshi IGARASHI <iga@ruby-lang.org>
http://www.ueda.info.waseda.ac.jp/~igarashi/