Ankündigung

Einklappen

Serverwartung 21.2.



Am 21.2. im Laufe des späten Abends wird eine Serverwartung durchgeführt. Das Forum ist dadurch für gut zwei Stunden nicht erreichbar.
Es wird eine Wartungsseite geschaltet.

Mehr anzeigen
Weniger anzeigen

PATCH: abhängiges $plugin_subscribe

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [wiregate] PATCH: abhängiges $plugin_subscribe

    Wie schon hier beschrieben ein Patch der die $plugin_subscribe Funktion - das Abonnieren von Gruppenadressen - erweitert.

    In den Plugins kann man jetzt diese Möglichkeiten der Abonnierung nutzen:

    Code:
    $plugin_subscribe
    $plugin_subscribe_read
    $plugin_subscribe_write
    • $plugin_subscribe - abonniert das Plugin auf jede Art von Telegrammen
    • $plugin_subscribe_read - abonniert das Plugin nur bei Read-Telegrammen
    • $plugin_subscribe_write - abonniert das Plugin nur bei Write-Telegrammen


    Hier der Patch:
    Code:
    --- wiregated.pl.orig	2013-04-15 17:48:44.000000000 +0200
    +++ wiregated.pl	2013-04-15 17:50:39.000000000 +0200
    @@ -958,6 +958,8 @@
     
     my %plugin_info;
     my %plugin_subscribe;
    +my %plugin_subscribe_write;
    +my %plugin_subscribe_read;
     my $plugin_initflag=0;
     my %plugin_socket_subscribe;
     
    @@ -1099,6 +1101,24 @@
                 check_generic_plugins($k,\%msg);
               }
            }
    +       # check subscribed plugin for READ
    +       if ($plugin_subscribe_read{$msg{'dst'}} && $msg{'apci'} eq "A_GroupValue_Read") {
    +                   #while( my ($k, $v) = each($plugin_subscribe{$msg{'dst'}}) ) {
    +                   for my $k ( keys %{$plugin_subscribe_read{ $msg{'dst'} }} ) {
    +            LOGGER('DEBUG',"Running Plugin $k subscribed for READ to $msg{'dst'}");
    +            $thr_eiblisten_timeout = time(); # set timeout
    +            check_generic_plugins($k,\%msg);
    +          }
    +       }	   
    +       # check subscribed plugin for WRITE
    +       if ($plugin_subscribe_write{$msg{'dst'}} && $msg{'apci'} eq "A_GroupValue_Write") {
    +                   #while( my ($k, $v) = each($plugin_subscribe{$msg{'dst'}}) ) {
    +                   for my $k ( keys %{$plugin_subscribe_write{ $msg{'dst'} }} ) {
    +            LOGGER('DEBUG',"Running Plugin $k subscribed for WRITE to $msg{'dst'}");
    +            $thr_eiblisten_timeout = time(); # set timeout
    +            check_generic_plugins($k,\%msg);
    +          }
    +       }
     
         } elsif ($msglen==414) {
    Grüße
    Umgezogen? Ja! ... Fertig? Nein!
    Baustelle 2.0 !
Lädt...
X