
рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдореБрдлреНрдд рдврд╛рдВрдЪрд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╖рдп рд╣реИред рдпрджрд┐ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдлреНрд░реЗрдорд╡рд░реНрдХ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд░рд╣рддрд╛ рд╣реИ рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдЬ рдореИрдВ C ++ рдХреЗ рд▓рд┐рдП рдПрдХ "рдЕрднрд┐рдиреЗрддрд╛" рдврд╛рдВрдЪреЗ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рджрд┐рдЦрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢
рдХрд░реВрдВрдЧрд╛, рдЬрд┐рд╕реЗ
SObjectizer рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдврд╛рдВрдЪрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдлреА рдкреБрд░рд╛рдирд╛ рд╣реИ, рдпрд╣ рдХрдИ рдмрд╛рд░ рдирд╛рдЯрдХреАрдп рд░реВрдк рд╕реЗ рдмрджрд▓ рдЧрдпрд╛ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЙрдирдХреЗ рд╡рд░реНрддрдорд╛рди рдЕрд╡рддрд╛рд░, рдПрд╕рдУрдмреАрдЬреЗрд▓рд╛рдЗрдЬрд╝рд░ -5 рдореЗрдВ рдХрдИ рдмрджрд▓рд╛рд╡ рд╣реБрдП рд╣реИрдВ, рджреЛрдиреЛрдВ рдЧрдВрднреАрд░ рдФрд░ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рд╕рдВрдЧрддрддрд╛ рдХреЗ рдкреНрд░рддрд┐ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдирд╛ рдЬреЛ рд╕рдВрдЧрддрддрд╛ рдХреЛ рддреЛрдбрд╝рддреЗ рд╣реИрдВ, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдЗрд╕ рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЧрдВрднреАрд░ рд╣реИред
рдЕрднреА рд╣рдореЗрдВ рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдПрдХ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХреИрд╕реЗ рдЬреЛрдбрд╝реЗрдВред рдПрдХ рдЙрдкрдпреБрдХреНрдд рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рджреЛ рд╡рд┐рдХрд▓реНрдк рдЙрднрд░реЗред рджреЛрдиреЛрдВ рдХрд╛рдлреА рдЕрд╣рд╕рд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╡реЗ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рд╣реИрдВред рджреЛрдиреЛрдВ рдЬрдЯрд┐рд▓рддрд╛ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдФрд░ рдЗрд╕рдХреА "рдЙрдкрд╕реНрдерд┐рддрд┐" рдореЗрдВред рдпрд╛рдиреА рдбреЗрд╡рд▓рдкрд░ рдХрд┐рд╕рд╕реЗ рдирд┐рдкрдЯреЗрдЧрд╛ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдХрд▓реНрдк рдореЗрдВ рдЕрд▓рдЧ рджрд┐рдЦреЗрдВрдЧреЗред рд╢рд╛рдпрдж рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рднреА рдЕрд▓рдЧред
рдФрд░ рдЕрдм, рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдореЗрдВ рдПрдХ рдпрд╛ рджреВрд╕рд░реЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдЪреБрдирд╛рд╡ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╛ рдХрд┐рд╕реА рдХреЛ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рд╕рдВрддреЛрд╖рдЬрдирдХ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП, рдХреБрдЫ рдФрд░ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред SObjectizer рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдЗрд╕ рддрд░рд╣ рдХреЗ рдирд┐рд░реНрдгрдп рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдХрд┐рдП рдЬрд╛рдиреЗ рдереЗред рдпрджрд┐ рдХреЛрдИ рдРрд╕реЗ рдврд╛рдВрдЪреЗ рдХреЗ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдЬреВрддреЗ рдореЗрдВ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдмрд┐рд▓реНрд▓реА рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред
рдореВрд▓ рд╕рдорд╕реНрдпрд╛
рддреЛ, рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдореВрд▓ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рд░ рд╣реИред рдЕрдкрдиреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ рд╣реА, SObjectizer рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛ рдереА: рдПрдХ рдЯрд╛рдЗрдорд░ рд╕рдВрджреЗрд╢ рд░рджреНрдж рдХрд░рдирд╛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рдЯрд╛рдЗрдорд░ рдХреЗ рддрд╣рдд рд╕рдордЭрд╛ рдЬрд╛рдПрдЧрд╛, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рд╡рд┐рд▓рдВрдмрд┐рдд рд╕рдВрджреЗрд╢ред рдпрд╛рдиреА рдПрдХ рд╕рдВрджреЗрд╢ рдЬрд┐рд╕реЗ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЛ рддреБрд░рдВрдд рдирд╣реАрдВ рднреЗрдЬрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХреБрдЫ рд╕рдордп рдмрд╛рджред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо send_delayed рдХреЛ 1s рдХреЗ рдард╣рд░рд╛рд╡ рдХреЗ рд╕рд╛рде рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдВрджреЗрд╢ send_delayed рдХреЙрд▓ рдХреЗ рдмрд╛рдж рдЯрд╛рдЗрдорд░ 1s рджреНрд╡рд╛рд░рд╛ рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред
рдПрдХ рд▓рдВрдмрд┐рдд рд╕рдВрджреЗрд╢, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд░рджреНрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рд╕рдВрджреЗрд╢ рдЕрднреА рднреА рдЯрд╛рдЗрдорд░ рдХреЗ рдХрдмреНрдЬреЗ рдореЗрдВ рд╣реИ, рддреЛ рд░рджреНрдж рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕рдВрджреЗрд╢ рдХрд╣реАрдВ рднреА рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕реЗ рдЯрд╛рдЗрдорд░ рджреНрд╡рд╛рд░рд╛ рдФрд░ рдЗрд╕реЗ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЯрд╛рдЗрдорд░ рдиреЗ рдкрд╣рд▓реЗ рд╣реА рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЕрдм рдкреНрд░рд╛рдкреНрдд рдПрдЬреЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрддрд╛рд░ рдореЗрдВ рд╣реИ, рддреЛ рдЯрд╛рдЗрдорд░ рдХреЛ рд░рджреНрдж рдХрд░рдиреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдЪрд▓реЗрдЧрд╛ред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрддрд╛рд░ рд╕реЗ рд╕рдВрджреЗрд╢ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП SObjectizer рдореЗрдВ рдХреЛрдИ рддрдВрддреНрд░ рдирд╣реАрдВ рд╣реИред
рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХрдо рд╕реЗ рдХрдо рджреЛ рдХрд╛рд░рдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, SObjectizer 1: N рдореЛрдб рдореЗрдВ рдбрд┐рд▓реАрд╡рд░реА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рдпрджрд┐ рд╕рдВрджреЗрд╢ рдмрд╣реБ-рдЙрдкрднреЛрдХреНрддрд╛ mbox рдХреЛ рднреЗрдЬрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рд╕рдВрджреЗрд╢ рдПрдХ рдХрддрд╛рд░ рдореЗрдВ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдмрд▓реНрдХрд┐ рдПрдХ рдмрд╛рд░ рдореЗрдВ N рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрдИ рдХрддрд╛рд░реЛрдВ рдореЗрдВ рд╣реЛрдЧрд╛ред
рджреВрд╕рд░реЗ, SObjectizer рдореЗрдВ рдбрд┐рд╕реНрдкреИрдЪрд░ рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдбрд┐рд╕реНрдкреИрдЪрд░ рдмрд╣реБрдд рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЙрдирдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдиреБрд░реЛрдз рдХрддрд╛рд░ рдкреНрд░реЗрд╖рдгрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдмрдВрдзрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВред рдФрд░ рдбрд┐рд╕реНрдкреИрдЪрд░ рдХреЗ рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ рдПрдХ рдЖрд╡реЗрджрди рд╡рд╛рдкрд╕ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╣реА рдбрд┐рд╕реНрдкреИрдЪрд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЪреБрдХреА рд╣реИред рд▓реЗрдХрд┐рди рднрд▓реЗ рд╣реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдРрд╕реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдереА, рдпрд╣ рдЗрд╕ рддрдереНрдп рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рддрдереНрдп рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдирдП рдкреНрд░реЗрд╖рдгрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдмрдврд╝рд╛рдПрдЧреАред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЙрджреНрджреЗрд╢реНрдпрдкреВрд░реНрдг рд░реВрдк рд╕реЗ, рдпрджрд┐ рдЯрд╛рдЗрдорд░ рдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЛ рд▓рдВрдмрд┐рдд рд╕рдВрджреЗрд╢ рднреЗрдЬрд╛ рд╣реИ, рддреЛ SObjectizer рдХреЛ рд╕рдВрджреЗрд╢ рдХреЗ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдирд╣реАрдВ рдХрд░рдирд╛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЕрд╕рдВрднрд╡ рд╣реИред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЖрд╡рдзрд┐рдХ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ (рдпрд╛рдиреА рд╕рдВрджреЗрд╢ рдХрд┐ рдЯрд╛рдЗрдорд░ рдХреЛ рд╕рдордп-рд╕рдордп рдкрд░ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕рдордп рдЕрдВрддрд░рд╛рд▓ рдкрд░ рднреЗрдЬрдирд╛ рдЪрд╛рд╣рд┐рдП)ред рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рд▓рдВрдмрд┐рдд рд╕рдВрджреЗрд╢ рдХреЛ рд░рджреНрдж рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЖрд╡рдзрд┐рдХ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд░рджреНрдж рдХрд░рдирд╛ рдмрд╣реБрдд рдХрдо рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдХрдо рд╕реЗ рдХрдо рд╣рдорд╛рд░реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рддреЛ рдРрд╕рд╛ рд╣реИред
рдЕрднреА рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?
рддреЛ, рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЛрдИ рдирдИ рдмрд╛рдд рдирд╣реАрдВ рд╣реИ рдФрд░ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рд╣реИрдВред
рд▓рдВрдмрд┐рдд рд╕рдВрджреЗрд╢ рдХреЗ рдЕрдВрджрд░ рдЕрджреНрд╡рд┐рддреАрдп рдЖрдИрдбреА
рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдПрдХ рдХрд╛рдЙрдВрдЯрд░ рд░рдЦрдирд╛ рд╣реИред рдПрдЬреЗрдВрдЯ рдХреЗ рдкрд╛рд╕ рдПрдХ рдХрд╛рдЙрдВрдЯрд░ рд╣реИ; рдПрдХ рд▓рдВрдмрд┐рдд рд╕рдВрджреЗрд╢ рднреЗрдЬрддреЗ рд╕рдордп, рд╕рдВрджреЗрд╢ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдХрд╛рдЙрдВрдЯрд░ рдореВрд▓реНрдп рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдХреЛрдИ рд╕рдВрджреЗрд╢ рд░рджреНрдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдЬреЗрдВрдЯ рдХрд╛ рдХрд╛рдЙрдВрдЯрд░ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИред рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рдкрд░, рд╕рдВрджреЗрд╢ рд╕реЗ рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рдПрдЬреЗрдВрдЯ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдХрд╛рдЙрдВрдЯрд░ рдореВрд▓реНрдп рдХреА рддреБрд▓рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдпрджрд┐ рдорд╛рди рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреЗ, рддреЛ рд╕рдВрджреЗрд╢ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
class demo_agent : public so_5::agent_t { struct delayed_msg final { int id_; ... }; int expected_msg_id_{}; so_5::timer_id_t timer_; void on_some_event() {
рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдПрдЬреЗрдВрдЯ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЗрди рдХрд╛рдЙрдВрдЯрд░реЛрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рд╕реЗ рд╣реИрд░рд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдпрджрд┐ рд╡рд┐рд▓рдВрдмрд┐рдд рд╕рдВрджреЗрд╢ рдХреЗ рд░реВрдк рдореЗрдВ рд╣рдореЗрдВ рдХрд┐рд╕реА рдФрд░ рдХреЗ рд╕рдВрджреЗрд╢ рдХреЛ рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдФрд░ рдиреЗ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ id_ рдлрд╝реАрд▓реНрдб рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣рдо рдЦреБрдж рдХреЛ рдПрдХ рдХрдард┐рди рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкрд╛рддреЗ рд╣реИрдВред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рджреВрд╕рд░реА рдУрд░, рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореМрдЬреВрдж рд╕рдмрд╕реЗ рдкреНрд░рднрд╛рд╡реА рддрд░реАрдХрд╛ рд╣реИред
рд╡рд┐рд▓рдореНрдмрд┐рдд рд╕рдВрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдЕрджреНрд╡рд┐рддреАрдп mbox рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рдЬреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рд╣реИ рджреЗрд░реА рд╕рдВрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдореЗрд▓рдмреЙрдХреНрд╕ (рдПрдордмреЙрдХреНрд╕) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рд▓рдВрдмрд┐рдд рд╕рдВрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ mbox рдмрдирд╛рддреЗ рд╣реИрдВ, рдЗрд╕рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рд╕рдВрджреЗрд╢ рдХреЛ рд▓рдВрдмрд┐рдд рд╕рдВрджреЗрд╢ рднреЗрдЬрддреЗ рд╣реИрдВред рдЬрдм рдХрд┐рд╕реА рд╕рдВрджреЗрд╢ рдХреЛ рд░рджреНрдж рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рд╣рдо рдХреЗрд╡рд▓ mbox рд╕рджрд╕реНрдпрддрд╛ рд╣рдЯрд╛рддреЗ рд╣реИрдВред
class demo_agent : public so_5::agent_t { struct delayed_msg final { ...
рдпрд╣ рд╡рд┐рдзрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЕрдВрджрд░ рдХреЛрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░ рд╕реЗ рд╢реНрд░рдо рдФрд░ рдзреНрдпрд╛рди рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрд░реЛрдХреНрдд рдЕрд╡рддрд╛рд░ рдореЗрдВ, рдЗрд╕ рддрдереНрдп рд╕реЗ рдХреЛрдИ рд╕реБрд░рдХреНрд╖рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдПрдХ рд▓рдВрдмрд┐рдд рд╕рдВрджреЗрд╢ рдкрд╣рд▓реЗ рд╣реА рднреЗрдЬрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИред рдПрдХ рдЕрдЪреНрдЫреЗ рддрд░реАрдХреЗ рд╕реЗ, рдПрдХ рдирдпрд╛ рд▓рдВрдмрд┐рдд рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛ on_cancel_event () рд╕реЗ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛ рдПрдЬреЗрдВрдЯ рдХреЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕рджрд╕реНрдпрддрд╛рдПрдБ рд╣реЛрдВрдЧреАред
рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдкрд╣рд▓реЗ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛?
рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ: рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдЗрддрдиреА рдЧрдВрднреАрд░ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдиреА рдпрд╣ рд▓рдЧ рд╕рдХрддреА рд╣реИред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдЖрдкрдХреЛ рдЕрдХреНрд╕рд░ рдЗрд╕рд╕реЗ рдЬреВрдЭрдирд╛ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░ рд▓рдВрдмрд┐рдд рдФрд░ рдЖрд╡рдзрд┐рдХ рд╕рдВрджреЗрд╢ рдмрд┐рд▓реНрдХреБрд▓ рд░рджреНрдж рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ (рдпрд╣реА рд╡рдЬрд╣ рд╣реИ рдХрд┐, send_delayed рдлрд╝рдВрдХреНрд╢рди рдЯрд╛рдЗрдорд░_рдЖрдИрдбреА рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)ред рдФрд░ рдЬрдм рд░рджреНрджреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ, рддреЛ рдЖрдк рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХреБрдЫ рдЕрдиреНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдПрдЬреЗрдВрдЯ рдмрдирд╛рдПрдВ рдЬреЛ рд▓рдВрдмрд┐рдд рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдЧрд╛ред рдЬрдм рдХреЛрдИ рд▓рдВрдмрд┐рдд рд╕рдВрджреЗрд╢ рд░рджреНрдж рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ, рддреЛ рдпреЗ рдПрдЬреЗрдВрдЯ deregistered рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕рд▓рд┐рдП, рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреА рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рдЦрд┐рд▓рд╛рдл, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рд╣рдореЗрдВ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛, рдПрдХ рд▓рдВрдмрд┐рдд рд╕рдВрджреЗрд╢ рдХреА рдЧрд╛рд░рдВрдЯреАрдХреГрдд рд░рджреНрджреАрдХрд░рдг рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдирд╛ рдЗрддрдиреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд╣реАрдВ рдереА рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЦрд░реНрдЪ рдХрд░рдирд╛ рдерд╛ред
рдЕрдм рд╕рдорд╕реНрдпрд╛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдХреНрдпреЛрдВ рд╣реИ?
рдпрд╣рд╛рдБ рд╕рдм рдХреБрдЫ рдЙрддрдирд╛ рд╣реА рд╕рд░рд▓ рд╣реИред рдПрдХ рдУрд░, рд╣рд╛рде рдЖрдЦрд┐рд░рдХрд╛рд░ рдкрд╣реБрдВрдЪ рдЧрдПред
рджреВрд╕рд░реА рдУрд░, рдЬрдм рдирдП рд▓реЛрдЧреЛрдВ рдХреЛ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рдерд╛, рд╡реЗ SObjectizer рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЯрд╛рдЗрдорд░ рдХреЗ рд░рджреНрдж рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЙрдиреНрд╣реЗрдВ рдмрд╣реБрдд рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдХрд░рддреА рд╣реИред рд╕реБрдЦрдж рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИред рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдореИрдВ рд╣рдорд╛рд░реЗ рдЯреВрд▓ рдХреЛ рдЬрд╛рдирдиреЗ рдХреЗ рдирдХрд╛рд░рд╛рддреНрдордХ рдЗрдВрдкреНрд░реЗрд╢рди рдХреЛ рдХрдо рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдорд╛рд░реЗ рдЕрдкрдиреЗ рдХрд╛рд░реНрдп рдереЗ, рд╣рдореЗрдВ рд▓рдВрдмрд┐рдд рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рд░рджреНрдж рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереАред рдФрд░ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдЕрдкрдиреЗ рдХрд╛рд░реНрдп рд╣реИрдВ, рд╢рд╛рдпрдж рд╕рдм рдХреБрдЫ рдЪрд╛рд░реЛрдВ рдУрд░ рдХрд╛ рд░рд╛рд╕реНрддрд╛ рд╣реИред
рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдирдпрд╛ рдмрдпрд╛рди
рд▓рдЧрднрдЧ рддреБрд░рдВрдд, рдЬреИрд╕реЗ рд╣реА "рдЧрд╛рд░рдВрдЯреАрдХреГрдд рдЯрд╛рдЗрдорд░ рд░рджреНрджреАрдХрд░рдг" рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рд╢реБрд░реВ рд╣реБрдЖ, рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдЖрдпрд╛ рдХрд┐ рдХрд╛рд░реНрдп рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рднреЗрдЬреЗ рдЧрдП рдХрд┐рд╕реА рднреА рд╕рдВрджреЗрд╢ рдХреЛ рд╡рд╛рдкрд╕ рдмреБрд▓рд╛рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ рджреЗрд░реА рдФрд░ рдЖрд╡рдзрд┐рдХред
рд╕рдордп-рд╕рдордп рдкрд░ рдпрд╣ рдЕрд╡рд╕рд░ рдорд╛рдВрдЧ рдореЗрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрдИ рдЗрдВрдЯрд░реЗрд╕реНрдЯрд┐рдВрдЧ рдПрдЬреЗрдВрдЯ рд╣реИрдВ: entry_point (рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рдЕрдиреБрд░реЛрдз рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ), рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ (рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдиреБрд░реЛрдз):

Entry_point рдПрдЬреЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ рдПрдЬреЗрдВрдЯ рдХреЛ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддреЗ рд╣реИрдВ, рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдпрдерд╛рд╕рдВрднрд╡ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ entry_point рдПрдЬреЗрдВрдЯреЛрдВ рдХреЛ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХрдИ рдмрд╛рд░, entry_point рдХреЛ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рднреЗрдЬреЗ рдЧрдП рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдм рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрд▓рд╛рдЗрдВрдЯ рдиреЗ рдПрдХ рд░рджреНрдж рдЖрджреЗрд╢ рднреЗрдЬрд╛ рд╣реИ рдпрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ "рдЧрд┐рд░ рдЧрдпрд╛" рдФрд░ рдЕрдм рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЕрдм, рдпрджрд┐ рдЕрдиреБрд░реЛрдз рд╕рдВрджреЗрд╢ рдкреНрд░реЛрд╕реЗрд╕рд░ рдПрдЬреЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдХрддрд╛рд░рдмрджреНрдз рд╣реИрдВ, рддреЛ рдЖрдк рдЙрдиреНрд╣реЗрдВ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рд▓реЗ рд╕рдХрддреЗред рдФрд░ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред
рдЗрд╕рд▓рд┐рдП, "рдЧрд╛рд░рдВрдЯреАрдХреГрдд рдЯрд╛рдЗрдорд░ рд░рджреНрджреАрдХрд░рдг" рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ "рд░рд┐рдХреЙрд▓ рд╕рдВрджреЗрд╢реЛрдВ" рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдареАрдХ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдХрд┐рд╕реА рднреА рд╕рдВрджреЗрд╢ рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рддрд░реАрдХреЗ рд╕реЗ рднреЗрдЬрддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рд╣рд╛рде рдкрд░ рдПрдХ рд╣реИрдВрдбрд▓ рдорд┐рд▓рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рд╕рдВрджреЗрд╢ рдХреЛ рд╡рд╛рдкрд╕ рдмреБрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдпрд╣ рдЗрддрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рдирд┐рдпрдорд┐рдд рд╕рдВрджреЗрд╢ рдпрд╛ рд╡рд┐рд▓рдВрдмрд┐рдд рдЙрддреНрддрд░ рджреЗрддрд╛ рд╣реИред
"рд░рд┐рдХреЙрд▓ рд╕рдВрджреЗрд╢реЛрдВ" рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдЖрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕
рддреЛ, рдЖрдкрдХреЛ "рд░рд┐рдХреЙрд▓ рд╕рдВрджреЗрд╢" рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рдкреЗрд╢ рдХрд░рдиреЗ рдФрд░ SObjectizer рдореЗрдВ рдЗрд╕ рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдФрд░ рдЗрд╕рд▓рд┐рдП, 5.5 рд╢рд╛рдЦрд╛ рдХреЗ рднреАрддрд░ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдПред рдЗрд╕ рдзрд╛рдЧреЗ рд╕реЗ рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг, 5.5.0, рд▓рдЧрднрдЧ рдЪрд╛рд░ рд╕рд╛рд▓ рдкрд╣рд▓реЗ, рдЕрдХреНрдЯреВрдмрд░ 2014 рдореЗрдВ рдЖрдпрд╛ рдерд╛ред рддрдм рд╕реЗ, 5.5 рдореЗрдВ рдХреЛрдИ рднреА рдмрдбрд╝рд╛ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдБ рдЬреЛ рдкрд╣рд▓реЗ рд╣реА рд╕реНрд╡рд┐рдЪ рдпрд╛ рддреБрд░рдВрдд SObjectize-5.5 рдкрд░ рд╢реБрд░реВ рд╣реЛ рдЪреБрдХреА рд╣реИрдВ, рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ 5.5 рд╢рд╛рдЦрд╛ рдореЗрдВ рдирдИ рд░рд┐рд▓реАрдЬрд╝ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХрддреА рд╣реИрдВред рдЗрд╕ рд╕рдордп рдЗрд╕ рд╕рдВрдЧрддрддрд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ: рдЖрдкрдХреЛ рд▓реЗрдиреЗ рдФрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ
рд╕рдорд╕реНрдпрд╛ рдХреЗ рдкрд╣рд▓реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдмрд╛рдж, "рд░рд┐рдХреЙрд▓ рд╕рдВрджреЗрд╢реЛрдВ" рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджреЛ рдмрд╛рддреЗрдВ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдИрдВред
рд╕рдВрджреЗрд╢ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдкрд╣рд▓реЗ рдкрд░рдорд╛рдгреБ рдзреНрд╡рдЬ рдФрд░ рдЙрд╕рдХрд╛ рд╕рддреНрдпрд╛рдкрди
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди SObjectizer-5.5 рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ (рдФрд░ рд╢рд╛рдпрдж рдФрд░ рднреА рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░: SObjectizer -5 рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рд╣реА), рдбрд┐рд╕реНрдкреИрдЪрд░ рдЕрдиреБрд░реЛрдз рдХрддрд╛рд░реЛрдВ рд╕реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдЬрд╣рд╛рдВ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛рдУрдВ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рд╕реЗ рд╡рд┐рд╖рдо рдбрд┐рд╕реНрдкреИрдЪрд░реНрд╕ рдХреЗ рдкреВрд░реЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдорд╛рд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рднреА рдЕрдкрдиреЗ рдХрд╛рдо рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
рдпрд╣ рдПрдХ )ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, 1: рдПрди рдореЛрдб рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬрд╣рд╛рдВ рдПрди рдмрдбрд╝рд╛ рд╣реЛрдЧрд╛, рд╕рднреА рдХрддрд╛рд░ рдореЗрдВ рднреЗрдЬреЗ рдЧрдП рд╕рдВрджреЗрд╢ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреА рдПрдХ рд╕реВрдЪреА рд░рдЦрдирд╛ рдорд╣рдВрдЧрд╛ рд╣реЛрдЧрд╛ред
рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде, рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд░рдорд╛рдгреБ рдзреНрд╡рдЬ рдХреЛ рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрддрд╛рд░ рд╕реЗ рд╕рдВрджреЗрд╢ рд╣рдЯрд╛рдП рдЬрд╛рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рд╕рдВрджреЗрд╢ рд╕реЗ рдкрд╣рд▓реЗ рдкреНрд░рд╛рдкреНрдд рдПрдЬреЗрдВрдЯ рдХреЛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╛рдиреА рд╕рдВрджреЗрд╢ рдХрддрд╛рд░ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡рд╣рд╛рдВ рд╕реЗ рдХрд╣реАрдВ рднреА рдирд╣реАрдВ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЬрдм рд╕рдВрджреЗрд╢ рдХреА рдмрд╛рд░реА рдЖрддреА рд╣реИ, рддреЛ рдЙрд╕рдХреЗ рдЭрдВрдбреЗ рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИред рдФрд░ рдЕрдЧрд░ рдзреНрд╡рдЬ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рд╕рдВрджреЗрд╢ рд╡рд╛рдкрд╕ рд▓реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рд╕рдВрджреЗрд╢ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рддрджрдиреБрд╕рд╛рд░, рд╕рдВрджреЗрд╢ рд╡рд╛рдкрд╕ рдмреБрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрджреЗрд╢ рдХреЗ рдЕрдВрджрд░ рдкрд░рдорд╛рдгреБ рдзреНрд╡рдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред
рдкреНрд░рддреНрдпрд╛рд╡рд░реНрддрдиреАрдп_рд╣реИрдВрдбрд▓_рдЯ <M> рд╡рд╕реНрддреБ
рджреВрд╕рд░реЗ, рдЕрдм рддрдХ (?) рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХреЛрдб рдирд╛рдо Revocable_handle_t рдХреЗ рддрд╣рдд рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд╕реНрддреБред
рдПрдХ рд░реАрд╡реЛрдХреЗрдмрд▓ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд░рд┐рд╡реЛрдХреЗрдмрд▓_рд╣реИрдВрдбрд▓_рдЯ рдХрд╛ рдПрдХ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдлрд┐рд░ рдЗрд╕ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкрд░ рд╕реЗрдВрдб рдореЗрдердб рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ рдпрджрд┐ рд╕рдВрджреЗрд╢ рдХреЛ рд╡рд╛рдкрд╕ рдмреБрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд░рд┐рд╡реЛрдХ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреБрдЫ рдЗрд╕ рддрд░рд╣:
struct my_message {...}; ... so_5::revocable_handle_t<my_message> msg;
рдЕрднреА рддрдХ рд░рд┐рд╡реЛрдХреЗрдмрд▓_рд╣реИрдВрдбрд▓_рдЯреА рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдХреЛрдИ рд╕реНрдкрд╖реНрдЯ рд╡рд┐рд╡рд░рдг рдирд╣реАрдВ рд╣реИ, рдЬреЛ рддрдм рд╕реЗ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рдирд╣реАрдВ рд╣реИ рд░рд┐рдХреЙрд▓ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдХрд╛рд░реНрдп рдХрд╛ рддрдВрддреНрд░ рдЕрднреА рддрдХ рдЪрдпрдирд┐рдд рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред рд▓реЗрдХрд┐рди рдХрд╛рдо рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдпрд╣ рд╣реИ рдХрд┐ Revocable_handle_t рдореЗрдВ рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рд▓рд┐рдВрдХ рднреЗрдЬреЗ рдЧрдП рд╕рдВрджреЗрд╢ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрд░рдорд╛рдгреБ рдзреНрд╡рдЬ рдХреЛ рдмрдЪрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирд┐рд░рд╕реНрдд () рд╡рд┐рдзрд┐ рдзреНрд╡рдЬ рдорд╛рди рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреА рд╣реИред рдпрджрд┐ рдпрд╣ рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрджреЗрд╢ рдХрддрд╛рд░ рд╕реЗ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рдмрд╛рдж, рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдХреНрдпрд╛ рдЗрд╕рд╕реЗ рджреЛрд╕реНрддреА рдирд╣реАрдВ рд╣реЛрдЧреА
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХреБрдЫ рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд╕рд╛рде рдпрд╛рдж рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢ рдареАрдХ рд╕реЗ рд▓рд┐рдВрдХ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рд╣рдЯрд╛рдП рдЧрдП рд╕рдВрджреЗрд╢ рдЙрди рдХрддрд╛рд░реЛрдВ рдореЗрдВ рдмрдиреЗ рд░рд╣реЗ рдЬрд╣рд╛рдВ рдпрд╣ рдкрд╣рд▓реЗ рд╣реА рдЖ рдЪреБрдХрд╛ рд╣реИред
message_limits
SObjectizer рдХреА рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛
message_limits рдХреЛ рдУрд╡рд░рд▓реЛрдб рд╕реЗ рдПрдЬреЗрдВрдЯреЛрдВ рдХреА рд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред Message_limits рдХрддрд╛рд░ рдореЗрдВ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдЧрд┐рдирддреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рд╕рдВрджреЗрд╢ рдкрдВрдХреНрддрд┐рдмрджреНрдз рдХрд┐рдпрд╛ - рдХрд╛рдЙрдВрдЯрд░ рдмрдврд╝рд╛рдпрд╛ред рд▓рд╛рдЗрди рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рдЧрдпрд╛ - рдХрдо рд╣реЛ рдЧрдпрд╛ред
рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдХреЛрдИ рд╕рдВрджреЗрд╢ рдирд┐рд░рд╕реНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рдХрддрд╛рд░ рдореЗрдВ рд░рд╣рддрд╛ рд╣реИ, рддрдм рд╕рдВрджреЗрд╢ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╕рдВрджреЗрд╢ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдкрддрд╛ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХрддрд╛рд░ рдореЗрдВ рдПрдо рдЯрд╛рдЗрдк рдХреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рд╕реАрдорд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрди рд╕рднреА рдХреЛ рд╡рд╛рдкрд╕ рдмреБрд▓рд╛ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рднреА рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рдЯрд╛рдЗрдк M рдХреЗ рдПрдХ рдирдП рд╕рдВрджреЗрд╢ рдХреА рдХрддрд╛рд░ рд▓рдЧрд╛рдиреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдЪрд▓реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╕реАрдорд╛ рдкрд╛рд░ рд╣реЛ рдЧрдИ рд╣реИред
рд╕реНрдерд┐рддрд┐ рдЕрдЪреНрдЫреА рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдХреИрд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рд╛ рдЬрд╛рдП? рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред
рдирд┐рд╢реНрдЪрд┐рдд рдХрддрд╛рд░ mchains
SObjectizer рдореЗрдВ, рдПрдХ рд╕рдВрджреЗрд╢ рди рдХреЗрд╡рд▓ mbox рдХреЛ рднреЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ mchain рдХреЛ рднреА рднреЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдпрд╣
CSP рдЪреИрдирд▓ рдХрд╛ рд╣рдорд╛рд░рд╛
рдПрдирд╛рд▓реЙрдЧ рд╣реИ )ред рдФрд░ mchains рдЙрдирдХреА рдХрддрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрдХрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдлреБрд▓ рдордЪрд┐рди рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдордЪрд┐рди рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рд╕рдВрджреЗрд╢ рдбрд╛рд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рд╕реА рддрд░рд╣ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдХрд╛рд░рдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрддрд╛рд░ рдореЗрдВ рдЬрдЧрд╣ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ред рдпрд╛ рд╕рдмрд╕реЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрджреЗрд╢ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдПред
рдХрд┐рд╕реА рд╕рдВрджреЗрд╢ рдХреЛ рд╡рд╛рдкрд╕ рдмреБрд▓рд╛рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдорд╛рдЪрд┐рди рдХрддрд╛рд░ рдХреЗ рдЕрдВрджрд░ рд░рд╣реЗрдЧрд╛ред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд╕рдВрджреЗрд╢ рдХреА рдЕрдм рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдорд╛рдЪрд┐рди рдХрддрд╛рд░ рдореЗрдВ рдЬрдЧрд╣ рд▓реЗрддрд╛ рд╣реИред рдФрд░ рдирдП рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдорд╛рдЪрд┐рди рдореЗрдВ рднреЗрдЬрдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред
рдореИрд╕реЗрдЬ_рд▓рд┐рдорд┐рдЯреНрд╕ рдХреЗ рд╕рд╛рде рднреА рд╡рд╣реА рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ред рдФрд░ рдлрд┐рд░, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рддрдп рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ
рддреЛ рд╣рдо рджреЛ (рдЕрдм рддрдХ?) рдХреЗ рдмреАрдЪ рдкрд╕рдВрдж рдХреЛ рдпрд╛рдж рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд╛ рд╣реИред рдкрд╣рд▓рд╛ рд╡рд┐рдХрд▓реНрдк рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рд╣реИ рдФрд░ рдПрд╕рдУрдмреАрдЬреЗрдирд╛рдЗрдЬрд╝рд░ рдХреА рдмрд╛рдЗрдмрд▓ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЛ рдпрд╣ рднреА рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд╣ рдирд┐рд░рд░реНрдердХ рд╕рдВрджреЗрд╢реЛрдВ рд╕реЗ рдирд┐рдкрдЯ рд░рд╣рд╛ рд╣реИред рд╣рдо рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд░ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред
Revocable_t <M> рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рдкрд╣рд▓рд╛ рд╕рдорд╛рдзрд╛рди, рдЬреЛ рджрд┐рдЦрддрд╛ рд╣реИ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕рдВрднрд╡ рдФрд░, рджреВрд╕рд░рд╛, рдХрд╛рдлреА рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣реИ, рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЖрд╡рд░рдг рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ Revocable_t <M>ред рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ Revocable_handle_t <M> рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯрд╛рдЗрдк M рдХрд╛ рдПрдХ рдмрджрд▓рд╛ рд╣реБрдЖ рд╕рдВрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╡рд╣ рд╕рдВрджреЗрд╢ M рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рднреЗрдЬрд╛ рдЧрдпрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рд╡рд┐рд╢реЗрд╖ рдЖрд╡рд░рдг рдХреЗ рдЕрдВрджрд░ рд╕рдВрджреЗрд╢ M рдХреЛ Revocable_t <M> рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░, рддрджрдиреБрд╕рд╛рд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЯрд╛рдЗрдк рдПрдо рдХреЗ рд╕рдВрджреЗрд╢ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рд╕рдВрджреЗрд╢ Revocable_t <M>ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣ рд╕реЗ:
class processor : public so_5::agent_t { public: struct request { ... };
Revocable_t <M> :: try_handle () рд╡рд┐рдзрд┐ рдкрд░рдорд╛рдгреБ рдзреНрд╡рдЬ рдХреЗ рдореВрд▓реНрдп рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреА рд╣реИ рдФрд░, рдпрджрд┐ рд╕рдВрджреЗрд╢ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрд╕ рдкрд░ рджрд┐рдП рдЧрдП рд▓рдВрдмреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рд╕рдВрджреЗрд╢ рд╡рд╛рдкрд╕ рд▓реЗ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ try_handle () рдХреБрдЫ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖
рдореБрдЦреНрдп рдкреНрд▓рд╕ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рдпрд╛рддреНрд░рд╛ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдХрдо рд╕реЗ рдХрдо рдЕрдм рддрдХ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ)ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, Revocable_handle_t <M> рдФрд░ Revocable_t <M> SObjectizer рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╕реВрдХреНрд╖реНрдо рдРрдб-рдСрди рд╣реЛрдЧрд╛ред
SObjectizer рдЗрдВрдЯрд░реНрдирд▓ рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рджреЛрд╕реНрддреЛрдВ рдХреЛ рд░рд┐рд╡реЛрдХреЗрдмрд▓_рдЯреА рдФрд░ mutable_msg рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ SObjectizer рдореЗрдВ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИ (рдЙрдиреНрд╣реЗрдВ 1: 1 рдореЛрдб рдореЗрдВ рдФрд░ 1: N рдореЛрдб рджреЛрдиреЛрдВ рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред рдФрд░
рдкрд░рд╕реНрдкрд░ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ 1: 1 рдореЛрдб рдореЗрдВ рднреЗрдЬреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рд╡рд┐рд╢реЗрд╖ рддрд░реАрдХреЗ рд╕реЗ рдПрд╕рдУрдмреАрдЬреЗрдирд╛рдЗрдЬрд░ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрдиреАрдп_рдПрдордПрд╕рдЬреА <рдПрдо> рдорд╛рд░реНрдХрд░ рдХрд╛ рдЗрд▓рд╛рдЬ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд░рди-рдЯрд╛рдЗрдо рдкрд░ рд╕рдВрдмрдВрдзрд┐рдд рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред Revocable_t <mutable_msg <M >> рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рдЗрд╕ рдирд┐рд░реНрдорд╛рдг рдХреЛ mutable_msg <M> рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SObjectizer рдХреЛ рд╕рд┐рдЦрд╛рдирд╛ рд╣реЛрдЧрд╛ред
рдПрдХ рдФрд░ рдкреНрд▓рд╕ рдпрд╣ рд╣реИ рдХрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рдУрд╡рд░рд╣реЗрдб (рджреЛрдиреЛрдВ рдкреНрд░рддреНрдпрд╛рд╡рд░реНрддрдиреАрдп рд╕рдВрджреЗрд╢ рдХреЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдФрд░ рдкрд░рдорд╛рдгреБ рдзреНрд╡рдЬ рдХреЗ рд╕рддреНрдпрд╛рдкрди рдкрд░) рдХреЗрд╡рд▓ рдЙрди рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рд╣реЛрдВрдЧреЗ рдЬрд╣рд╛рдВ рдЖрдк рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЬрд╣рд╛рдБ рд░рд┐рдХреЙрд▓ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд╣рд╛рдБ рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдУрд╡рд░рд╣реЗрдб рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рд▓реЗрдХрд┐рди рдореБрдЦреНрдп рдорд╛рдЗрдирд╕ рд╡реИрдЪрд╛рд░рд┐рдХ рд╣реИред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ, рд░реАрдХреЛрд╕реЗрдмрд▓ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рддрдереНрдп рдкреНрд░реЗрд╖рдХ (рд░рд┐рд╡реЛрдХреЗрдмрд▓_рд╣реИрдВрдбрд▓_рдЯреА <рдПрдо> рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдФрд░ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ (рд░реЗрд╡реЛрдХреЗрдмрд▓_рдЯреА <рдПрдо> рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рджреЛрдиреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЛ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрд╕реЗ рд╡рд╛рдкрд╕ рдмреБрд▓рд╛рдП рдЧрдП рд╕рдВрджреЗрд╢ рдорд┐рд▓ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд░реЗрдбреАрдореЗрдб рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рдПрдЬреЗрдВрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдмрдЧреИрд░ рд░рд┐рд╡реЛрдХреЗрдмрд▓_рдЯреА <M> рдХреЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реИрдЪрд╛рд░рд┐рдХ рдкреНрд░рд╢реНрди рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрдиреЗ рд╣реБрдП рд╣реИрдВред рд▓реЗрдХрд┐рди, рдкрд╣рд▓реЗ рдЕрдиреБрдорд╛рдиреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЗрди рдореБрджреНрджреЛрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдирд┐рдпрдорд┐рдд рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд░рд┐рдХреЙрд▓ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рд░рд┐рд╕реАрд╡рд░ рдХреА рддрд░рдл рдЯрд╛рдЗрдк M рдХрд╛ рд╕рдВрджреЗрд╢ рджреЗрдЦреЗрдВ рдФрд░ рди рдХрд┐ Revocable_handle_t <M> рдФрд░ revocable_t <M> рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рд░рдЦреЗрдВред рдпрд╛рдиреА рдпрджрд┐ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдПрдХ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рдЙрд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдЕрдиреБрд░реЛрдз рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрд╡рд░рдг рдХреЗред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреЛрдИ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдХреБрдЫ рдЖрд╡рд░рдг рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ SObjectizer рдХреЗ рдЕрдВрджрд░ рдЫрд┐рдкреЗ рд░рд╣реЗрдВрдЧреЗ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЙрдиреНрд╣реЗрдВ рдирд╣реАрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХрддрд╛рд░ рд╕реЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, SObjectizer рдЦреБрдж рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рдпрд╣ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд▓рд┐рдкрдЯреЗ рдмрдЧрд╛рд╡рдд рд╕рдВрджреЗрд╢ рд╣реИ, рд╕рдВрджреЗрд╢ рдХреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдХреЗ рдзреНрд╡рдЬ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ, рдФрд░ рд╕рдВрджреЗрд╢ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВ рдпрджрд┐ рдпрд╣ рдЕрднреА рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред рдлрд┐рд░ рдпрд╣ рдПрдЬреЗрдВрдЯ рдХреЛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬреЗрдЧрд╛ рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рдПрдХ рдирд┐рдпрдорд┐рдд рд╕рдВрджреЗрд╢ рдерд╛ред
рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖
рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдореБрдЦреНрдп рд▓рд╛рдн рд╕реНрдкрд╖реНрдЯ рд╣реИ - рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд╣ рдХрд┐рди рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рд╡рд╛рд▓реЗ рдХреЛ рдХрд┐рд╕реА рднреА рдПрдЬреЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд╕рдВрджреЗрд╢ рдХреЛ рд╢рд╛рдВрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЙрди рдЬреЛ рдЕрдиреНрдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреЗ рдЧрдП рдереЗред
рдПрдХ рдЕрдиреНрдп рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд▓рд╕ рд╕рдВрджреЗрд╢ рд╡рд┐рддрд░рдг рдЕрдиреБрд░реЗрдЦрдг рддрдВрддреНрд░ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ (
рдпрд╣рд╛рдВ рдЗрд╕ рддрдВрддреНрд░ рдХреА рднреВрдорд┐рдХрд╛ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ )ред рдпрд╛рдиреА рдпрджрд┐ msg_tracing рд╕рдХреНрд╖рдо рд╣реИ рдФрд░ рдкреНрд░реЗрд╖рдХ рд╕рдВрджреЗрд╢ рд╡рд╛рдкрд╕ рд▓реЗ рд▓реЗрддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рдХрд╛ рдкрддрд╛ msg_tracing рд▓реЙрдЧ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд╕рдордп рдпрд╣ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рд▓реЗрдХрд┐рди рдореБрдЦреНрдп рдиреБрдХрд╕рд╛рди рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рд╣реИред рдЬрд┐рд╕ рдкрд░ рдХрдИ рдХрд╛рд░рдХреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдУрд╡рд░рд╣реЗрдбред рд╕рдм рддрд░рд╣ рдХреА рдмрд╛рддреЗрдВред
рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдк рдПрдХ рд╕рдВрджреЗрд╢ рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдзреНрд╡рдЬ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрджреЗрд╢ рдкреНрд░рддрд┐рд╕рдВрд╣рд░рдгреАрдп рд╣реИ рдпрд╛ рдирд╣реАрдВред рдФрд░ рдлрд┐рд░ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕ рдзреНрд╡рдЬ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред рдореЛрдЯреЗ рддреМрд░ рдкрд░, рдПрдХ рдФрд░ рдЕрдЧрд░ рд╕рдВрджреЗрд╢ рд╡рд┐рддрд░рдг рддрдВрддреНрд░ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ (!) рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЗрд╕ рдкрд░ рдиреБрдХрд╕рд╛рди рдЕрдЧрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдореЗрдВ рдЧрд┐рд░рд╛рд╡рдЯ рдЬрд░реВрд░ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рдЕрдореВрд░реНрдд рд╣реЛрддрд╛ рд╣реИ, рд╡рд╣ рдЙрддрдирд╛ рд╣реА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЙрддрдирд╛ рд╣реА рд╡рд╣ рдбреВрдм рдЬрд╛рдПрдЧрд╛ред рдФрд░ рдпрд╣ рдПрдХ рд╡рд┐рдкрдгрди рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдмреБрд░рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдРрд╕реЗ рдХрдИ рд╡реНрдпрдХреНрддрд┐ рд╣реИрдВ рдЬреЛ рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд░реВрдкрд░реЗрдЦрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВред рдФрд░ рд╡реЗ рдЗрд╕реЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрд░рддреЗ рд╣реИрдВ: рдпрд╣ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рд╣реИ, рдХрд┐ рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рдЯреВрд▓ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рдпреЛрдЧ рдХреА рддреБрд▓рдирд╛ рджреВрд╕рд░реЗ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ, рджреВрд╕рд░реЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░, рдЖрджрд┐ред , рдЖрджрд┐
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЪреВрдВрдХрд┐ рд╣рдо рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдврд╛рдВрдЪрд╛ рддреИрдпрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ, рдЕрдореВрд░реНрдд рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдореЗрдВ рдЕрдореВрд░реНрдд рд╕рдВрдЦреНрдпрд╛рдУрдВ рд╕реЗ рдЖрдВрдХрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рд╕рдордп рдХреЗ рд▓рд┐рдП рдПрдХ рдлреАрдЪрд░ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдХрд╛рд░рдг
рд╕рднреА рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд╡рд┐рддрд░рдг рддрдВрддреНрд░ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ 5%, рдЦреЛрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╕рдордп-рд╕рдордп рдкрд░ рдФрд░ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред
рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЛ рд╕рдВрджреЗрд╢ рднреЗрдЬрддреЗ рд╕рдордп, SObjectizer рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рд╕рдВрджреЗрд╢ рдХреЛ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЬрдм рдПрдХ рд╕рдВрджреЗрд╢ рдХрд┐рд╕реА рдПрдЬреЗрдВрдЯ рдХреЛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ SObjectizer рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реВрдЪрдХ рдХреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╕рдВрджреЗрд╢реЛрдВ рдФрд░ рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдм рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд╣реИ рдХрд┐ рдПрдЬреЗрдВрдЯ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рд╕рдВрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:
struct execution_demand_t {
рдЬрд╣рд╛рдБ рдорд╛рдБрдЧ_рд╣реИрдВрдбрд▓рд░_рдкрдлрд╝реНрди_рдЯ рдПрдХ рдирд┐рдпрдорд┐рдд рдлрд╝рдВрдХреНрд╢рди рдкреЙрдЗрдВрдЯрд░ рд╣реИ:
typedef void (*demand_handler_pfn_t)( current_thread_id_t, execution_demand_t & );
рд╕рдВрджреЗрд╢ рд╡рд╛рдкрд╕ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╛рдиреА рдЬрдм mbox рдПрдЬреЗрдВрдЯ рдХреЛ рд╕рдВрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИ, рддреЛ рдПрдЬреЗрдВрдЯ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдПрдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╕рдВрджреЗрд╢ рдпрд╛ рдПрдХ рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕реА рддрд░рд╣, рдПрдХ рдПрдЬреЗрдВрдЯ рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рддрд░реАрдХреЗ рд╕реЗ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХреЙрд▓рдмреИрдХ рд╕рдВрджреЗрд╢ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдПрдЬреЗрдВрдЯ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде, рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХ рдХреЛ рдмрдЪрд╛рдПрдЧрд╛, рдЬреЛ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд░рджреНрдж рдХрд┐рдП рдЧрдП рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рдм рдХреБрдЫ рдареАрдХ рд▓рдЧ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рджреЛ рдмрдбрд╝реЗ "рдмрдЯреНрд╕" рд╣реИрдВ ... :(
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореМрдЬреВрджрд╛ mbox рдЗрдВрдЯрд░рдлрд╝реЗрд╕ (рдЕрд░реНрдерд╛рддреН,
abstract_message_mbox_t рд╡рд░реНрдЧ) рдХреЛ рд░рд┐рдХреЙрд▓ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреА рдХреЛрдИ рд╡рд┐рдзрд┐рдпрд╛рдБ рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдФрд░ рдЗрд╕рд▓рд┐рдП рдХрд┐ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ mbox рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рдЬреЛ SObjectizer-5.5 рд╕реЗ abstract_message_box_t рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, mbox рд╢реНрд░реГрдВрдЦрд▓рд╛
so_5_extra рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реБрдИ рд╣реИ рдФрд░ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдирд╣реАрдВ рддреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛)ред
рджреВрд╕рд░реЗ, рд╕рдВрджреЗрд╢ рди рдХреЗрд╡рд▓ mbox-s рдХреЛ рднреЗрдЬреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдкреАрдЫреЗ рдПрдЬреЗрдВрдЯ рдЫрд┐рдкреЗ рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди mchain-s рдХреЛ рднреАред рдЬреЛ
рд╕реАрдПрд╕рдкреА рдЪреИрдирд▓реЛрдВ рдХреЗ рд╣рдорд╛рд░реЗ рд╕рдордХрдХреНрд╖ рд╣реИрдВ ред рдФрд░ рдЕрдм рддрдХ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрддрд┐рд░рд┐рдХреНрдд рдмрд┐рдВрджреБ рдХреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЭреВрда рдмреЛрд▓ рд░рд╣реЗ рдереЗред рдЖрд╡реЗрджрди рдХрддрд╛рд░ mchain рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реВрдЪрдХ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ... рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдорд╣рдВрдЧреА рд╕рдорд╛рдзрд╛рди рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдм рддрдХ рдЦреБрдж рдордЪрд┐рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдиреЗ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдирд┐рдХрд╛рд▓реЗ рдЧрдП рд╕рдВрджреЗрд╢ рдХреЛ рдЬрд╛рдВрдЪрдирд╛ рдФрд░ рд╕рдВрднрд╡рддрдГ рдлреЗрдВрдХрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдпрджрд┐ рдЖрдк рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд░рдирд╛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЙрди рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╕реНрддрд╛ рд╣реИ рдЬрдм рдпрд╛рдж рдХрд┐рдП рдЧрдП рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рд▓рдВрдмрд┐рдд рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдЧрд╛рд░рдВрдЯреА рд░рджреНрдж рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
рдореБрдЭреЗ рдбрд░ рд╣реИ рдХрд┐ рддрдХрдиреАрдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдореВрд▓ рд╕рдорд╕реНрдпрд╛ рдЦреЛ рдЧрдИ рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдпреЗ рдХрд┐ рд╡рд╣рд╛рдБ рдкрд░ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рд╕рдВрджреЗрд╢ рд╣реИрдВ, рддреЛ рд▓рдВрдмрд┐рдд / рдЖрд╡рдзрд┐рдХ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдХреИрд╕реЗ рд░рджреНрдж рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛?рдпрд╣рд╛рдВ, рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рд╡рд┐рдХрд▓реНрдк рд╕рдВрднрд╡ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓рдВрдмрд┐рдд / рдЖрд╡рдзрд┐рдХ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ Revocable_handle_t <M> рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: revocable_handle_t<my_mesage> msg; msg.send_delayed(target, 15s, ...); ... msg.revoke();
рдпрд╛ рдЖрдк Revocable_handle_t <M> рдХреЗ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╣рд╛рдпрдХ рдХрдХреНрд╖рд╛ рд░рджреНрдж рдХрд░рдиреЗ рдпреЛрдЧреНрдп_timer_t <M> рдкрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ send_delayed / send_periodic рд╡рд┐рдзрд┐рдпрд╛рдБ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛редрд╕рдлреЗрдж рд╕реНрдерд╛рди: рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЕрдиреБрд░реЛрдз
SObjectizer-5 рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рд╕рдВрд╕реНрдерд╛рдУрдВ (mbox рдФрд░ mchain рдХреЛ рд╕рдВрджреЗрд╢ рднреЗрдЬрдХрд░) рдХреЗ рдмреАрдЪ рди рдХреЗрд╡рд▓ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдмрд╛рддрдЪреАрдд рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ request_value / request_future рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдЗрдВрдЯрд░реИрдХреНрд╢рди рднреА рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдЗрдВрдЯрд░реЗрдХреНрд╢рди рдХреЗрд╡рд▓ рдПрдЬреЗрдВрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╛рдиреА
рдЖрдк рдХреЗрд╡рд▓ рдПрдХ рдПрдЬреЗрдВрдЯ рдХреЛ рдЙрд╕рдХреЗ mbox рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рднреЗрдЬ рд╕рдХрддреЗред рдордЪрд┐рдиреНрд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рджреВрд╕рд░реЗ рд╡рд░реНрдХрд┐рдВрдЧ рдереНрд░реЗрдб рдкрд░, рдЬрд┐рд╕ рдкрд░ рдорд╛рдЪрд┐рди рдХреЗ рд▓рд┐рдП рд░рд┐рд╕реАрд╡ () рдпрд╛ рд╕рд▓реЗрдХреНрдЯ () рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛редрдЗрд╕рд▓рд┐рдП, рдпрд╣ рдЕрднреА рднреА рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕реЗ рдкреНрд░рддреНрдпрд╛рд╡рд░реНрддрдиреАрдп рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рдПрдХ рдУрд░, рд╢рд╛рдпрдж рдпрд╣ рдХреБрдЫ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ: revocable_handle_t<my_request> msg; auto f = msg.request_future<my_reply>(target, ...); ... if(some_condition) msg.revoke(); ... f.get();
рджреВрд╕рд░реА рдУрд░, рдЕрднреА рднреА рд░рд┐рдХреЙрд▓ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрд╕рдВрдЧрдд рд╕рдВрджреЗрд╢ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╕рдордХрд╛рд▓рд┐рдХ рдмрд╛рддрдЪреАрдд рдХреЗ рдореБрджреНрджреЗ рдХреЛ рдмреЗрд╣рддрд░ рд╕рдордп рддрдХ рд╕реНрдердЧрд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИредрдЪреБрдиреЗрдВ, рд▓реЗрдХрд┐рди рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВред рд▓реЗрдХрд┐рди рдЪреБрдиреЗрдВ
рддреЛ рд╕рдорд╕реНрдпрд╛ рдХреА рд╕рдордЭ рд╣реИред рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред рдЬреЛ рдЗрд╕ рд╕рдордп рд╕рдВрднрд╡ рд╣реИред рд▓реЗрдХрд┐рди рд╡реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕реНрддрд░ рдореЗрдВ рдмрд╣реБрдд рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ рджреГрдврд╝рддрд╛ рд╕реЗ рд╡реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рд▓рд╛рдЧрдд рдореЗрдВ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВредрдЖрдкрдХреЛ рдЗрди рджреЛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдЪреБрдирдирд╛ рд╣реЛрдЧрд╛ред рдпрд╛ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬ рдХреЗ рд╕рд╛рде рдЖрддреЗ рд╣реИрдВредрдЪреБрдирдиреЗ рдореЗрдВ рдХреНрдпрд╛ рдХрдард┐рдирд╛рдИ рд╣реИ?рдХрдард┐рдирд╛рдИ рдпрд╣ рд╣реИ рдХрд┐ SObjectizer рдПрдХ рдирд┐рдГрд╢реБрд▓реНрдХ рдврд╛рдВрдЪрд╛ рд╣реИред рд╡рд╣ рд╕реАрдзреЗ рддреМрд░ рдкрд░ рд╣рдореЗрдВ рдкреИрд╕рд╛ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рд╣рдо рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рдЕрдкрдиреЗ рд▓рд┐рдПред рдЗрд╕рд▓рд┐рдП, рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рдЖрд░реНрдерд┐рдХ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рд╕реЗ, рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдФрд░ рддреЗрдЬ рд╡рд┐рдХрд▓реНрдк рдЕрдзрд┐рдХ рд▓рд╛рднрджрд╛рдпрдХ рд╣реИредрд▓реЗрдХрд┐рди, рджреВрд╕рд░реА рддрд░рдл, рдкреИрд╕реЗ рдореЗрдВ рд╕рдм рдХреБрдЫ рдирд╣реАрдВ рдорд╛рдкрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд▓рдВрдмреЗ рд╕рдордп рдореЗрдВ, рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдЙрдкрдХрд░рдг, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдЖрдо рддреМрд░ рдкрд░ рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рдЬреБрдбрд╝реА рд╣реЛрддреА рд╣реИрдВ, рдкреИрдЪрд╡рд░реНрдХ рд╕реЗ рдмрдиреЗ рдкреИрдЪрд╡рд░реНрдХ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдПрдХ рд╕рд╛рде рдЪрд┐рдкрдХ рдЬрд╛рддреЗ рд╣реИрдВред рдЧреБрдгрд╡рддреНрддрд╛ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдФрд░ рд╕реНрд╡рдпрдВ рджреЛрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдм рд╣рдо рдмрд╛рдж рдореЗрдВ рдЕрдкрдиреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдореЗрдВ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВредрдЗрд╕рд▓рд┐рдП, рд╡рд┐рдХрд▓реНрдк, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рд▓рд╛рдн рдФрд░ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рдмреАрдЪ рдЬрд╛рддрд╛ рд╣реИред рд╕рдЪ рд╣реИ, рдЖрдзреБрдирд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ, рд╕реА + + рд▓рдВрдмреА рдЕрд╡рдзрд┐ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдг рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдзреВрдорд┐рд▓ рд╣реИрдВред рдЬрд┐рд╕рд╕реЗ рдЪреБрдирд╛рд╡ рдФрд░ рднреА рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИредрдпрд╣ рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рдЪреБрдирдирд╛ рд╣реИред рдзреНрдпрд╛рди рд╕реЗред рд▓реЗрдХрд┐рди рдЪреБрдиреЗрдВредрдирд┐рд╖реНрдХрд░реНрд╖
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╣рдордиреЗ рдЕрдкрдиреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдиреЗ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдереЛрдбрд╝рд╛ рджрд┐рдЦрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдЗрд╕ рддрд░рд╣ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣рдорд╛рд░реЗ рд╕рд╛рде рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рд╣реЛрддреА рд╣реИред рдкрд╣рд▓реЗ рдЕрдХреНрд╕рд░ рдХреНрдпреЛрдВрдХрд┐ 2014-2016 рдореЗрдВ SObjectizer рдиреЗ рдЕрдзрд┐рдХ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХрд┐рдпрд╛ред рдЕрдм рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рд░рд┐рд▓реАрдЬ рдХреА рдЧрддрд┐ рдХрдо рд╣реЛ рдЧрдИ рд╣реИред рдЬреЛ рдЙрджреНрджреЗрд╢реНрдпрдкреВрд░реНрдг рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рднреА рддреЛрдбрд╝рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рдирд╛, рдкреНрд░рддреНрдпреЗрдХ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИредрдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рд╕рд╛рдордиреЗ рдкрд░реНрджреЗ рдХреЗ рдкреАрдЫреЗ рджреЗрдЦрдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рдерд╛ред рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!