source_block — Klasa
Klasa source_block to abstrakcyjna klasa bazowa dla bloków źródłowych.Klasa dostarcza podstawową funkcjonalność zarządzania połączeniem jak również sprawdzanie popularnych błędów.
template<
class _TargetLinkRegistry,
class _MessageProcessorType = ordered_message_processor<typename _TargetLinkRegistry::type::type>
>
class source_block : public ISource<typename _TargetLinkRegistry::type::type>;
Parametry
_TargetLinkRegistry
Łącze rejestru używanego do gospodarstwa docelowego łącza._MessageProcessorType
Typ procesora dla przetwarzania wiadomości.
Elementy członkowskie
Publiczne definicje typów
Nazwa |
Opis |
---|---|
target_iterator |
Sterująca zaprezentuje połączonych obiektów docelowych. |
Konstruktory publiczne
Nazwa |
Opis |
---|---|
Buduje source_block obiektu. |
|
Niszczy obiekt source_block. |
Metody publiczne
Nazwa |
Opis |
---|---|
Akceptuje wiadomości, który był oferowany przez to source_block obiektu, przenosząca prawo własności do obiektu wywołującego. |
|
Nabywa licznika odwołań w tej sprawie source_block obiektu, aby uniemożliwić usunięcie. |
|
Pobiera wiadomość oferowanych wcześniej przez to source_block object i pomyślnie zarezerwowany przez obiekt docelowy, przenosząca prawo własności do obiektu wywołującego. |
|
Łącza do tego bloku docelowego source_block obiektu. |
|
Zwalnia Poprzednia rezerwacja wiadomości powiodło. |
|
Zwalnia licznika odwołań w tej sprawie source_block obiektu. |
|
Zastrzega sobie wiadomości oferowanych wcześniej przez to source_block obiektu. |
|
Wstrzymuje bloku docelowego z tego source_block obiektu. |
|
Odłączenie wszystkich bloków docelowej z tego source_block obiektu. (Zastępuje ISource::unlink_targets.) |
Metody chronione
Nazwa |
Opis |
---|---|
Po zastąpieniu w klasie pochodnej, akceptuje wiadomości oferowanych przez źródło.Bloki komunikatów należy zastąpić tę metodę, aby sprawdzić poprawność _MsgId i zwracania wiadomości. |
|
Asynchronicznie kolejkuje wiadomości i uruchamia zadanie propagacji, jeśli nie zostało to zrobione już |
|
Po zastąpieniu w klasie pochodnej, zużywa wiadomość, która została wcześniej zarezerwowane. |
|
Włącza przetwarzany wsadowo przetwarzania dla tego bloku. |
|
Inicjuje message_propagator w ramach tego source_block. |
|
Wywołania zwrotnego, który powiadamia, że nowy obiekt docelowy został powiązany z tym source_block obiektu. |
|
Przetwarzanie komunikatów wejściowych.Ta opcja jest przydatna dla propagator bloków, które wynikają z source_block |
|
Propagowanie wiadomości do elementów docelowych. |
|
Po zastąpieniu w klasie pochodnej, propaguje danej wiadomości do dowolnej lub wszystkich połączonych obiektów docelowych.Jest to rutynowe głównego propagacji do bloków komunikatów. |
|
Po zastąpieniu w klasie pochodnej, zwalnia Poprzednia rezerwacja wiadomość. |
|
Usuwa wszystkie łącza miejsce docelowe dla tego bloku źródłowego.Powinno to być wywołana z destruktor. |
|
Po zastąpieniu w klasie pochodnej, zastrzega sobie wiadomości oferowanych wcześniej przez to source_block obiektu. |
|
Po zastąpieniu w klasie pochodnej, wznawia działanie propagacji po zastrzeżenie zostało zwolnione. |
|
Synchronicznie kolejkuje wiadomości i uruchamia zadanie propagacji, jeśli nie zostało to zrobione już. |
|
Wywołania zwrotnego, który powiadamia, że cel zostało odłączone od tego source_block obiektu. |
|
Czeka na wszystkich asynchronicznego propagacji do wykonania.To oczekiwania spin propagator specyficzne w destruktorów bloków komunikatów służy do upewnij się, że wszystkie propagacji asynchronicznego czasu na zakończenie przed zniszczeniem bloku. |
Uwagi
Bloków komunikatów powinny pochodzić z tego bloku, aby skorzystać z łącza zarządzania i synchronizacji dostarczone przez tę klasę.
Hierarchia dziedziczenia
source_block
Wymagania
Nagłówek: agents.h
Przestrzeń nazw: concurrency