diff --git a/How2Guides/FlowCallbacks.html b/How2Guides/FlowCallbacks.html index 4860e8e3f..7033673b2 100644 --- a/How2Guides/FlowCallbacks.html +++ b/How2Guides/FlowCallbacks.html @@ -52,6 +52,9 @@
  • Initialization and Settings
  • Entry Points
  • new_* Fields
  • +
  • Override Fields
  • +
  • Customizing Duplicate Suppression
  • +
  • Customizing post_exchangeSplit
  • Sample Flowcb Sub-Class
  • Download Renaming
  • Web Sites with non-standard file listings
  • @@ -385,6 +388,83 @@

    new_* Fields +

    Override Fields

    +

    To change processing of messages, one can set overrides to change how built-in algorithms work. +For example:

    + + +
    +

    Customizing Duplicate Suppression

    +

    The built-in processing for duplicates is to use the identity field as a key, and store the path as the value. +So if a file is received with the same key, and the path is already present, then it is considered a duplicate +and dropped.

    +

    In some cases, we may want only the file name to be used, so if any file with the same name is received twice, +regardless of content, then it should be considered a duplicate and dropped. This is useful when multiple systems +are producing the same products, but they are not bitwise identical. The built-in flowcb that implements +that functionality is below:

    +
    import logging
    +from sarracenia.flowcb import FlowCB
    +
    +logger = logging.getLogger(__name__)
    +
    +
    +class Name(FlowCB):
    +    """
    +      Override the the comparison so that files with the same name,
    +      regardless of what directory they are in, are considered the same.
    +      This is useful when receiving data from two different sources (two different trees)
    +      and winnowing between them.
    +    """
    +    def after_accept(self, worklist):
    +        for m in worklist.incoming:
    +            if not 'nodupe_override' in m:
    +                m['_deleteOnPost'] \|= set(['nodupe_override'])
    +                m['nodupe_override'] = {}
    +
    +            m['nodupe_override']['path'] = m['relPath'].split('/')[-1]
    +            m['nodupe_override']['key'] = m['relPath'].split('/')[-1]
    +
    +
    +
    +
    +

    Customizing post_exchangeSplit

    +

    The exchangeSplit function allows a single flow to send outputs to different exchanges, +numbered 1…n to provide load distribution. The built-in processing does this in a +fixed way based on the hash of the identify field. The purpose of exchangeSplit is to +allow a common set of downstream paths to receive a subset of the total flow, and for +products with similar “routing” to land on the same downstream node. For example, a file +with a given checksum, for winnowing to work, has to land on the same downstream node.

    +

    It could be that, rather than using a checksum, one would prefer to use some other +method to decide which exchange is used:

    +
    import logging
    +from sarracenia.flowcb import FlowCB
    +import hashlib
    +logger = logging.getLogger(__name__)
    +
    +
    +class Distbydir(FlowCB):
    +  """
    +    Override the use of the identity field so that products can be grouped by directory in the relPath
    +    This ensures that all products received from the same directory get posted to the same
    +    exchange when post_exchangeSplit is active.
    +  """
    +  def after_accept(self, worklist):
    +      for m in worklist.incoming:
    +          m['_deleteOnPost'] |= set(['exchangeSplitOverride'])
    +          m['exchangeSplitOverride'] = int(hashlib.md5(m['relPath'].split(os.sep)[-2]).hexdigest()[0])
    +
    +
    +

    This routine sets the exchangeSplitOverride field, which needs to be an integer +that will be used to pick which of the n exchanges in the post_exchangeSplit +exchanges defined. This routine calculates a checksum of the directory +containing the file and then converts the first character of that checksum +to an integer. If the directory is the same, the exchange chosen will be the same.

    +

    Sample Flowcb Sub-Class

    This is an example callback class file (gts2wis2.py) that accepts files whose diff --git a/Reference/code.html b/Reference/code.html index 16fb47d01..325667753 100644 --- a/Reference/code.html +++ b/Reference/code.html @@ -2214,7 +2214,7 @@

    -putNewMessage(message: Message, content_type: str = 'application/json') bool[source]
    +putNewMessage(message: Message, content_type: str = 'application/json', exchange: str | None = None) bool[source]

    publish a message as set up to the given topic.

    return True is succeeded, False otherwise.

    diff --git a/_modules/sarracenia/moth.html b/_modules/sarracenia/moth.html index bbc3ce6e5..acf43dc19 100644 --- a/_modules/sarracenia/moth.html +++ b/_modules/sarracenia/moth.html @@ -442,7 +442,7 @@

    Source code for sarracenia.moth

     
     
    [docs] - def putNewMessage(self, message:sarracenia.Message, content_type: str ='application/json') -> bool: + def putNewMessage(self, message:sarracenia.Message, content_type: str ='application/json', exchange: str = None) -> bool: """ publish a message as set up to the given topic. diff --git a/_modules/sarracenia/moth/amqp.html b/_modules/sarracenia/moth/amqp.html index a1b3db9ea..2fcfcbc06 100644 --- a/_modules/sarracenia/moth/amqp.html +++ b/_modules/sarracenia/moth/amqp.html @@ -783,9 +783,12 @@

    Source code for sarracenia.moth.amqp

                         if ( 'exchangeSplit' in self.o) and self.o['exchangeSplit'] > 1:
                             # FIXME: assert ( len(self.o['exchange']) == self.o['post_exchangeSplit'] )
                             #        if that isn't true... then there is something wrong... should we check ?
    -                        idx = sum(
    -                            bytearray(body['identity']['value'],
    +                        if 'exchangeSplitOverride' in message:
    +                            idx = int(message['exchangeSplitOverride'])%len(self.o['exchange'])
    +                        else:
    +                            idx = sum( bytearray(body['identity']['value'],
                                           'ascii')) % len(self.o['exchange'])
    +                        
                             exchange = self.o['exchange'][idx]
                         else:
                             logger.error(
    diff --git a/_sources/How2Guides/FlowCallbacks.rst.txt b/_sources/How2Guides/FlowCallbacks.rst.txt
    index 876a92f9e..564f69e17 100644
    --- a/_sources/How2Guides/FlowCallbacks.rst.txt
    +++ b/_sources/How2Guides/FlowCallbacks.rst.txt
    @@ -286,6 +286,92 @@ of the one from the message, as the original is necessary for successful upstrea
     * msg['new_subtopic'] ... the subtopic hierarchy that will be encoded in the notification message for downstream consumers.
     
     
    +Override Fields
    +---------------
    +
    +To change processing of messages, one can set overrides to change how built-in algorithms work.
    +For example:
    +
    +* msg['nodupe_override'] = { 'key': ..., 'path': ... }   changes how the duplicate detection operates.
    +* msg['topic'] ... defines the topic of a published message (instead of being calculated from other fields.)
    +* msg['exchangeSplitOverride'] = int ... changes how post_ExchangeSplit chooses among multiple postExchanges.
    +
    +
    +
    +Customizing Duplicate Suppression
    +---------------------------------
    +
    +The built-in processing for duplicates is to use the identity field as a key, and store the path as the value.
    +So if a file is received with the same key, and the path is already present, then it is considered a duplicate
    +and dropped.
    +
    +In some cases, we may want only the file name to be used, so if any file with the same name is received twice,
    +regardless of content, then it should be considered a duplicate and dropped. This is useful when multiple systems
    +are producing the same products, but they are not bitwise identical.  The built-in flowcb that implements
    +that functionality is below::
    +
    +
    +   import logging
    +   from sarracenia.flowcb import FlowCB
    +
    +   logger = logging.getLogger(__name__)
    +
    +
    +   class Name(FlowCB):
    +       """
    +         Override the the comparison so that files with the same name,
    +         regardless of what directory they are in, are considered the same.
    +         This is useful when receiving data from two different sources (two different trees)
    +         and winnowing between them.
    +       """
    +       def after_accept(self, worklist):
    +           for m in worklist.incoming:
    +               if not 'nodupe_override' in m:
    +                   m['_deleteOnPost'] \|= set(['nodupe_override'])
    +                   m['nodupe_override'] = {}
    +
    +               m['nodupe_override']['path'] = m['relPath'].split('/')[-1]
    +               m['nodupe_override']['key'] = m['relPath'].split('/')[-1]
    +
    +
    +Customizing post_exchangeSplit
    +------------------------------
    +
    +The exchangeSplit function allows a single flow to send outputs to different exchanges, 
    +numbered 1...n to provide load distribution. The built-in processing does this in a 
    +fixed way based on the hash of the identify field. The purpose of exchangeSplit is to 
    +allow a common set of downstream paths to receive a subset of the total flow, and for 
    +products with similar "routing" to land on the same downstream node. For example, a file 
    +with a given checksum, for winnowing to work, has to land on the same downstream node.
    +
    +It could be that, rather than using a checksum, one would prefer to use some other
    +method to decide which exchange is used::
    +
    +  import logging
    +  from sarracenia.flowcb import FlowCB
    +  import hashlib
    +  logger = logging.getLogger(__name__)
    +
    +
    +  class Distbydir(FlowCB):
    +    """
    +      Override the use of the identity field so that products can be grouped by directory in the relPath
    +      This ensures that all products received from the same directory get posted to the same
    +      exchange when post_exchangeSplit is active.
    +    """
    +    def after_accept(self, worklist):
    +        for m in worklist.incoming:
    +            m['_deleteOnPost'] |= set(['exchangeSplitOverride'])
    +            m['exchangeSplitOverride'] = int(hashlib.md5(m['relPath'].split(os.sep)[-2]).hexdigest()[0])
    +
    +
    +This routine sets the exchangeSplitOverride field, which needs to be an integer
    +that will be used to pick which of the n exchanges in the post_exchangeSplit 
    +exchanges defined. This routine calculates a checksum of the directory
    +containing the file and then converts the first character of that checksum
    +to an integer. If the directory is the same, the exchange chosen will be the same.
    +
    +
     Sample Flowcb Sub-Class
     -----------------------
     
    diff --git a/_sources/fr/CommentFaire/FlowCallbacks.rst.txt b/_sources/fr/CommentFaire/FlowCallbacks.rst.txt
    index 70bff1dfe..c8538c8ee 100644
    --- a/_sources/fr/CommentFaire/FlowCallbacks.rst.txt
    +++ b/_sources/fr/CommentFaire/FlowCallbacks.rst.txt
    @@ -231,6 +231,107 @@ Autres entry_points, extraits de sarracenia/flowcb/__init__.py ::
     
         def on_stop(self):
     
    +new_* Champs
    +------------
    +
    +Pendant le traitement des messages de notification, les valeurs des champs standard d'origine restent généralement inchangées (telles que lues).
    +Pour modifier les champs des messages de notification transmis aux consommateurs en aval, on modifie plutôt new_field
    +de celui du message, car l'original est nécessaire pour une récupération réussie en amont
    +:
    +
    +* msg['new_baseUrl'] ... baseUrl à transmettre aux consommateurs en aval.
    +
    +* msg['new_dir'] ... le répertoire dans lequel un fichier sera téléchargé ou envoyé.
    +
    +* msg['new_file'] .... nom final du fichier à écrire.
    +
    +* msg['new_inflight_path'] ... nom calculé du fichier temporaire à écrire avant de le renommer en msg['new_file'] ... ne pas modifier manuellement.
    +
    +* msg['new_relPath'] ... calculé à partir de 'new_baseUrl', 'post_baseDir', 'new_dir', 'new_file'... ne pas modifier manuellement. 
    +
    +* msg['post_version'] ... le format d'encodage du message à poster (à partir des paramètres)
    +
    +* msg['new_subtopic'] ... la hiérarchie des sous-thèmes qui sera codée dans le message de notification destiné aux consommateurs en aval.
    +
    +Les champs override
    +-------------------
    +
    +Pour modifier le traitement des messages, on peut définir des remplacements pour modifier le fonctionnement des algorithmes intégrés.
    +Par exemple:
    +
    +* msg['nodupe_override'] = { 'key': ..., 'path': ... } modifie le fonctionnement de la détection des doublons.
    +* msg['topic'] ... définit le sujet d'un message publié (au lieu d'être calculé à partir d'autres champs.)
    +* msg['exchangeSplitOverride'] = int ... change la façon dont post_ExchangeSplit choisit parmi plusieurs postExchanges
    +
    +
    +Personnalisation de la suppression des doublons
    +---------------------------------
    +
    +Le traitement intégré des doublons consiste à utiliser le champ d'identité comme clé et à stocker le chemin (path) comme valeur.
    +Ainsi, si un fichier est reçu avec la même clé et que le path est déjà présent, il est alors considéré comme un doublon.
    +et laissé tomber.
    +
    +Dans certains cas, nous pouvons souhaiter que seul le nom du fichier soit utilisé, donc si un fichier portant le même nom est reçu deux fois,
    +quel que soit le contenu, il doit alors être considéré comme un doublon et supprimé. Ceci est utile lorsque plusieurs systèmes
    +produisent les mêmes produits, mais ils ne sont pas identiques au niveau des bits. Le flowcb intégré qui implémente
    +cette fonctionnalité est ci-dessous ::
    +
    +
    +   import logging
    +   from sarracenia.flowcb import FlowCB
    +
    +   logger = logging.getLogger(__name__)
    +
    +
    +   class Name(FlowCB):
    +       """
    +         Remplacez la comparaison afin que les fichiers portant le même nom, quel que soit 
    +         le répertoire dans lequel ils se trouvent, sont considérés comme identiques.
    +         Ceci est utile lors de la réception de données provenant de deux sources différentes 
    +         (deux arbres différents) et vanner entre eux.
    +       """
    +       def after_accept(self, worklist):
    +           for m in worklist.incoming:
    +               if not 'nodupe_override' in m:
    +                   m['_deleteOnPost'] \|= set(['nodupe_override'])
    +                   m['nodupe_override'] = {}
    +
    +               m['nodupe_override']['path'] = m['relPath'].split('/')[-1]
    +               m['nodupe_override']['key'] = m['relPath'].split('/')[-1]
    +
    +
    +
    +Personnalisation de post_exchangeSplit
    +-------------------------------
    +
    +La fonction ExchangeSplit permet à un seul flux d'envoyer des sorties à différents échanges,
    +numérotés 1...n pour assurer la répartition de la charge. Le traitement intégré le fait de manière
    +manière fixe basée sur le hachage du champ d'identification. Le but d'exchangeSplit est de
    +permettre à un ensemble commun de chemins en aval de recevoir un sous-ensemble du flux total, et pour
    +les produits avec un « routage » similaire atterrissent sur le même nœud en aval. Par exemple, un fichier
    +avec une somme de contrôle donnée, pour que le vannage fonctionne, il doit atterrir sur le même nœud en aval.
    +
    +Il se pourrait que, plutôt que d'utiliser une somme de contrôle, on préfère utiliser une autre somme de contrôle.
    +méthode pour décider quel échange est utilisé::
    +
    +
    +  import logging
    +  from sarracenia.flowcb import FlowCB
    +  import hashlib
    +  logger = logging.getLogger(__name__)
    +
    +
    +  class Distbydir(FlowCB):
    +    """
    +      Remplacer l'utilisation du champ d'identité afin que les produits puissent 
    +      être regroupés par répertoire dans le relPath. Cela garantit que tous les produits 
    +      reçus du même répertoire sont publiés dans le même exchange lorsque post_exchangeSplit est actif.
    +    """
    +    def after_accept(self, worklist):
    +        for m in worklist.incoming:
    +            m['_deleteOnPost'] |= set(['exchangeSplitOverride'])
    +            m['exchangeSplitOverride'] = int(hashlib.md5(m['relPath'].split(os.sep)[-2]).hexdigest()[0])
    +
     
     
     Exemple de sous-classe Flowcb
    diff --git a/api-documentation.html b/api-documentation.html
    index bbf3a4aad..26326c7c3 100644
    --- a/api-documentation.html
    +++ b/api-documentation.html
    @@ -1038,7 +1038,7 @@ 

    Sarracenia.Moth
    -putNewMessage(message: Message, content_type: str = 'application/json') bool[source]
    +putNewMessage(message: Message, content_type: str = 'application/json', exchange: str | None = None) bool[source]

    publish a message as set up to the given topic.

    return True is succeeded, False otherwise.

    diff --git a/fr/CommentFaire/FlowCallbacks.html b/fr/CommentFaire/FlowCallbacks.html index 69d9e94ae..57136a709 100644 --- a/fr/CommentFaire/FlowCallbacks.html +++ b/fr/CommentFaire/FlowCallbacks.html @@ -58,6 +58,10 @@
  • Journalisation
  • Initialisation et paramètres
  • Points d’entrée
  • +
  • new_* Champs
  • +
  • Les champs override
  • +
  • Personnalisation de la suppression des doublons
  • +
  • Personnalisation de post_exchangeSplit
  • Exemple de sous-classe Flowcb
  • Autres exemples
  • Modification de fichiers en transit
  • @@ -350,6 +354,94 @@

    Points d’entrée +

    new_* Champs

    +

    Pendant le traitement des messages de notification, les valeurs des champs standard d’origine restent généralement inchangées (telles que lues). +Pour modifier les champs des messages de notification transmis aux consommateurs en aval, on modifie plutôt new_field +de celui du message, car l’original est nécessaire pour une récupération réussie en amont +:

    +
      +
    • msg[‘new_baseUrl’] … baseUrl à transmettre aux consommateurs en aval.

    • +
    • msg[‘new_dir’] … le répertoire dans lequel un fichier sera téléchargé ou envoyé.

    • +
    • msg[‘new_file’] …. nom final du fichier à écrire.

    • +
    • msg[‘new_inflight_path’] … nom calculé du fichier temporaire à écrire avant de le renommer en msg[‘new_file’] … ne pas modifier manuellement.

    • +
    • msg[‘new_relPath’] … calculé à partir de ‘new_baseUrl’, ‘post_baseDir’, ‘new_dir’, ‘new_file’… ne pas modifier manuellement.

    • +
    • msg[‘post_version’] … le format d’encodage du message à poster (à partir des paramètres)

    • +
    • msg[‘new_subtopic’] … la hiérarchie des sous-thèmes qui sera codée dans le message de notification destiné aux consommateurs en aval.

    • +
    +

    +
    +

    Les champs override

    +

    Pour modifier le traitement des messages, on peut définir des remplacements pour modifier le fonctionnement des algorithmes intégrés. +Par exemple:

    + +
    +
    +

    Personnalisation de la suppression des doublons

    +

    Le traitement intégré des doublons consiste à utiliser le champ d’identité comme clé et à stocker le chemin (path) comme valeur. +Ainsi, si un fichier est reçu avec la même clé et que le path est déjà présent, il est alors considéré comme un doublon. +et laissé tomber.

    +

    Dans certains cas, nous pouvons souhaiter que seul le nom du fichier soit utilisé, donc si un fichier portant le même nom est reçu deux fois, +quel que soit le contenu, il doit alors être considéré comme un doublon et supprimé. Ceci est utile lorsque plusieurs systèmes +produisent les mêmes produits, mais ils ne sont pas identiques au niveau des bits. Le flowcb intégré qui implémente +cette fonctionnalité est ci-dessous :

    +
    import logging
    +from sarracenia.flowcb import FlowCB
    +
    +logger = logging.getLogger(__name__)
    +
    +
    +class Name(FlowCB):
    +    """
    +      Remplacez la comparaison afin que les fichiers portant le même nom, quel que soit
    +      le répertoire dans lequel ils se trouvent, sont considérés comme identiques.
    +      Ceci est utile lors de la réception de données provenant de deux sources différentes
    +      (deux arbres différents) et vanner entre eux.
    +    """
    +    def after_accept(self, worklist):
    +        for m in worklist.incoming:
    +            if not 'nodupe_override' in m:
    +                m['_deleteOnPost'] \|= set(['nodupe_override'])
    +                m['nodupe_override'] = {}
    +
    +            m['nodupe_override']['path'] = m['relPath'].split('/')[-1]
    +            m['nodupe_override']['key'] = m['relPath'].split('/')[-1]
    +
    +
    +
    +
    +

    Personnalisation de post_exchangeSplit

    +

    La fonction ExchangeSplit permet à un seul flux d’envoyer des sorties à différents échanges, +numérotés 1…n pour assurer la répartition de la charge. Le traitement intégré le fait de manière +manière fixe basée sur le hachage du champ d’identification. Le but d’exchangeSplit est de +permettre à un ensemble commun de chemins en aval de recevoir un sous-ensemble du flux total, et pour +les produits avec un « routage » similaire atterrissent sur le même nœud en aval. Par exemple, un fichier +avec une somme de contrôle donnée, pour que le vannage fonctionne, il doit atterrir sur le même nœud en aval.

    +

    Il se pourrait que, plutôt que d’utiliser une somme de contrôle, on préfère utiliser une autre somme de contrôle. +méthode pour décider quel échange est utilisé:

    +
    import logging
    +from sarracenia.flowcb import FlowCB
    +import hashlib
    +logger = logging.getLogger(__name__)
    +
    +
    +class Distbydir(FlowCB):
    +  """
    +    Remplacer l'utilisation du champ d'identité afin que les produits puissent
    +    être regroupés par répertoire dans le relPath. Cela garantit que tous les produits
    +    reçus du même répertoire sont publiés dans le même exchange lorsque post_exchangeSplit est actif.
    +  """
    +  def after_accept(self, worklist):
    +      for m in worklist.incoming:
    +          m['_deleteOnPost'] |= set(['exchangeSplitOverride'])
    +          m['exchangeSplitOverride'] = int(hashlib.md5(m['relPath'].split(os.sep)[-2]).hexdigest()[0])
    +
    +
    +

    Exemple de sous-classe Flowcb

    Il s’agit d’un exemple de fichier de classe de callback (gts2wis2.py) qui accepte les fichiers dont diff --git a/fr/CommentFaire/index.html b/fr/CommentFaire/index.html index c6a167b10..36c8afc97 100644 --- a/fr/CommentFaire/index.html +++ b/fr/CommentFaire/index.html @@ -133,6 +133,10 @@

    Comment FaireJournalisation
  • Initialisation et paramètres
  • Points d’entrée
  • +
  • new_* Champs
  • +
  • Les champs override
  • +
  • Personnalisation de la suppression des doublons
  • +
  • Personnalisation de post_exchangeSplit
  • Exemple de sous-classe Flowcb
  • Autres exemples
  • Modification de fichiers en transit
  • diff --git a/objects.inv b/objects.inv index e3f20a797..6af88ef19 100644 Binary files a/objects.inv and b/objects.inv differ diff --git a/searchindex.js b/searchindex.js index 37ab497d8..a4826eb2c 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"-h|\u2013help": [[63, "h-help"], [127, "h-help"]], ".sr\u00a7 suffix": [[14, "sr-suffix"]], "1.1\u00a0\u00a0\u00a0Assumptions/Constraints": [[2, "assumptions-constraints"]], "1.1\u00a0\u00a0\u00a0Hypoth\u00e8ses/contraintes": [[90, "hypotheses-contraintes"]], "1.2\u00a0\u00a0\u00a0Nombre de commutateurs": [[90, "nombre-de-commutateurs"]], "1.2\u00a0\u00a0\u00a0Number of Switches": [[2, "number-of-switches"]], "1.3\u00a0\u00a0\u00a0AMQP Feature Selection": [[2, "amqp-feature-selection"]], "1.3\u00a0\u00a0\u00a0S\u00e9lection des fonctionnalit\u00e9s AMQP": [[90, "selection-des-fonctionnalites-amqp"]], "1.4\u00a0\u00a0\u00a0Application": [[2, "application"], [90, "application"]], "1.5.1\u00a0\u00a0\u00a0Routage des publications": [[90, "routage-des-publications"]], "1.5.1\u00a0\u00a0\u00a0Routing Posts": [[2, "routing-posts"]], "1.5.2\u00a0\u00a0\u00a0Journaux de routage": [[90, "journaux-de-routage"]], "1.5.2\u00a0\u00a0\u00a0Routing Logs": [[2, "routing-logs"]], "1.5\u00a0\u00a0\u00a0Routage": [[90, "routage"]], "1.5\u00a0\u00a0\u00a0Routing": [[2, "routing"]], "1.6.1\u00a0\u00a0\u00a0Users, Queues & Exchanges": [[2, "users-queues-exchanges"]], "1.6.1\u00a0\u00a0\u00a0Utilisateurs, files d\u2019attente et \u00e9changes": [[90, "utilisateurs-files-dattente-et-echanges"]], "1.6.2\u00a0\u00a0\u00a0Pre-Validation": [[2, "pre-validation"]], "1.6.2\u00a0\u00a0\u00a0Pr\u00e9-validation": [[90, "pre-validation"]], "1.6.3\u00a0\u00a0\u00a0Post-Validation": [[2, "post-validation"], [90, "post-validation"]], "1.6.4\u00a0\u00a0\u00a0Log Validation": [[2, "log-validation"]], "1.6.4\u00a0\u00a0\u00a0Validation du journal": [[90, "validation-du-journal"]], "1.6.5\u00a0\u00a0\u00a0Private vs. Public Data Transfer": [[2, "private-vs-public-data-transfer"]], "1.6.5\u00a0\u00a0\u00a0Transfert de donn\u00e9es priv\u00e9 vs public": [[90, "transfert-de-donnees-prive-vs-public"]], "1.6.6\u00a0\u00a0\u00a0Acc\u00e8s priv\u00e9 HTTPS": [[90, "acces-prive-https"]], "1.6.6\u00a0\u00a0\u00a0HTTPS Private Access": [[2, "https-private-access"]], "1.6\u00a0\u00a0\u00a0Mod\u00e8le de s\u00e9curit\u00e9": [[90, "modele-de-securite"]], "1.6\u00a0\u00a0\u00a0Security Model": [[2, "security-model"]], "1.7.1\u00a0\u00a0\u00a0Autonome": [[90, "autonome"]], "1.7.1\u00a0\u00a0\u00a0Standalone": [[2, "standalone"]], "1.7.2\u00a0\u00a0\u00a0DDSR : Configuration de commutation/routage": [[90, "ddsr-configuration-de-commutation-routage"]], "1.7.2\u00a0\u00a0\u00a0DDSR: Switching/Routing Configuration": [[2, "ddsr-switching-routing-configuration"]], "1.7.3\u00a0\u00a0\u00a0DDSR ind\u00e9pendant": [[90, "ddsr-independant"]], "1.7.3\u00a0\u00a0\u00a0Independent DDSR": [[2, "independent-ddsr"]], "1.7.4\u00a0\u00a0\u00a0Courtier partag\u00e9 DDSR": [[90, "courtier-partage-ddsr"]], "1.7.4\u00a0\u00a0\u00a0Shared Broker DDSR": [[2, "shared-broker-ddsr"]], "1.7.5\u00a0\u00a0\u00a0DD : Configuration de la diffusion des donn\u00e9es (AKA : Data Mart)": [[90, "dd-configuration-de-la-diffusion-des-donnees-aka-data-mart"]], "1.7.5\u00a0\u00a0\u00a0DD: Data Dissemination Configuration (AKA: Data Mart)": [[2, "dd-data-dissemination-configuration-aka-data-mart"]], "1.7.6\u00a0\u00a0\u00a0DD ind\u00e9pendant": [[90, "dd-independant"]], "1.7.6\u00a0\u00a0\u00a0Independent DD": [[2, "independent-dd"]], "1.7.7\u00a0\u00a0\u00a0Shared-Broker DD": [[2, "shared-broker-dd"], [90, "shared-broker-dd"]], "1.7.8\u00a0\u00a0\u00a0DD de donn\u00e9es partag\u00e9es": [[90, "dd-de-donnees-partagees"]], "1.7.8\u00a0\u00a0\u00a0Shared-Data DD": [[2, "shared-data-dd"]], "1.7.9\u00a0\u00a0\u00a0SEP: Shared End-Point Configuration": [[2, "sep-shared-end-point-configuration"], [90, "sep-shared-end-point-configuration"]], "1.7\u00a0\u00a0\u00a0Topologies": [[2, "topologies"], [90, "topologies"]], "1\u00a0\u00a0\u00a0Conception Strawman": [[90, "conception-strawman"]], "1\u00a0\u00a0\u00a0Strawman Design": [[2, "strawman-design"]], "3.0.14": [[50, "id15"], [84, "id13"]], "3.0.15": [[50, "id14"], [84, "id12"]], "3.0.17": [[50, "id13"], [84, "id11"]], "3.0.22": [[50, "id12"], [84, "id10"]], "3.0.23": [[50, "id11"]], "3.0.25": [[50, "id10"], [84, "id9"]], "3.0.26": [[50, "id9"], [84, "id8"]], "3.0.37": [[50, "id8"]], "3.0.40": [[50, "id7"], [84, "id7"]], "3.0.41": [[50, "id6"], [84, "id6"]], "3.0.45": [[50, "id5"], [84, "id5"]], "3.0.47": [[50, "id4"], [84, "id4"]], "3.0.51": [[50, "id3"], [84, "id3"]], "3.0.52": [[50, "id2"], [84, "id2"]], "3.0.53": [[50, "id1"], [84, "id1"]], "A first Example using Sarracenia Moth API": [[68, "A-first-Example-using-Sarracenia-Moth-API"]], "A votre gout!": [[118, "a-votre-gout"]], "ACTIONS": [[20, "actions"], [59, "actions"], [106, "actions"], [123, "actions"]], "AMQP": [[26, "amqp"], [105, "amqp"]], "AMQP - Introduction \u00e0 sarrac\u00e9nia": [[89, "amqp-introduction-a-sarracenia"]], "AMQP - Primer for Sarracenia": [[0, "amqp-primer-for-sarracenia"]], "AMQP Feature Selection": [[0, "amqp-feature-selection"]], "AMQP QUEUE BINDINGS": [[20, "amqp-queue-bindings"], [106, "amqp-queue-bindings"]], "AMQP Topic:": [[128, "amqp-topic"]], "AMQP Topic: .{.}": [[64, "amqp-topic-version-dir"]], "AMQP v09 (Rabbitmq) Settings": [[21, "amqp-v09-rabbitmq-settings"], [103, "amqp-v09-rabbitmq-settings"]], "AMQP: not 1.0, but 0.8 or 0.9": [[0, "amqp-not-1-0-but-0-8-or-0-9"]], "AMQP: pas 1.0, mais 0.8 or 0.9": [[89, "amqp-pas-1-0-mais-0-8-or-0-9"]], "API Documentation": [[77, "api-documentation"]], "API Level Access": [[54, "api-level-access"]], "API NOAA CO-OPS": [[81, "api-noaa-co-ops"]], "ARGUMENTS AND OPTIONS": [[63, "arguments-and-options"]], "ARGUMENTS ET OPTIONS": [[127, "arguments-et-options"]], "Abonnements partag\u00e9s": [[98, "abonnements-partages"]], "Abonn\u00e9s (anglais: Subscribers)": [[105, "abonnes-anglais-subscribers"]], "Accel Overhaul": [[19, "accel-overhaul"]], "Accessing Messages from Python": [[38, "accessing-messages-from-python"]], "Accessing Options": [[38, "accessing-options"]], "Acc\u00e8s au niveau de l\u2019API": [[87, "acces-au-niveau-de-l-api"]], "Acc\u00e8s au syst\u00e8me privil\u00e9gi\u00e9": [[104, "acces-au-systeme-privilegie"]], "Acc\u00e8s aux messages \u00e0 partir de Python": [[116, "acces-aux-messages-a-partir-de-python"]], "Acc\u00e8s aux options": [[116, "acces-aux-options"]], "Ack": [[68, "Ack"], [132, "Ack"]], "Acquisition de GOES-R": [[110, "acquisition-de-goes-r"]], "Add RabbitMQ": [[11, "Add-RabbitMQ"], [11, "id1"]], "Adding a New Dependency": [[3, "adding-a-new-dependency"], [92, "adding-a-new-dependency"]], "Administering AMQP Data Pumps": [[45, "administering-amqp-data-pumps"]], "Administering Rabbitmq Adddendum": [[46, "administering-rabbitmq-adddendum"]], "Administrateur du serveur : un abonn\u00e9 local": [[136, "administrateur-du-serveur-un-abonne-local"]], "Administration de Rabbitmq Adddendum": [[78, "administration-de-rabbitmq-adddendum"]], "Administration des pompes de donn\u00e9es AMQP": [[79, "administration-des-pompes-de-donnees-amqp"]], "Advanced File Reception": [[38, "advanced-file-reception"]], "Advanced Installations": [[45, "advanced-installations"]], "Advanced Polling": [[20, "advanced-polling"]], "Affichage de tous les param\u00e8tres": [[116, "affichage-de-tous-les-parametres"]], "Affiner la s\u00e9lection": [[87, "affiner-la-selection"]], "After Parity: True Improvements": [[19, "after-parity-true-improvements"]], "Ajout de D\u00e9pendance Python dans les Callbacks": [[116, "ajout-de-dependance-python-dans-les-callbacks"]], "Ajout manuel d\u2019utilisateurs": [[79, "ajout-manuel-d-utilisateurs"]], "Algorithm": [[18, "algorithm"]], "Algorithme": [[94, "algorithme"]], "Almost-Coherent File System or DB Performance": [[8, "Almost-Coherent-File-System-or-DB-Performance"]], "Amdahl\u2019s Law Applied": [[7, "Amdahl\u2019s-Law-Applied"]], "Analogie FTP": [[89, "analogie-ftp"]], "Analogy FTP": [[0, "analogy-ftp"]], "Analyse d\u2019antivirus": [[87, "analyse-d-antivirus"]], "And an Agreed Directory Tree": [[31, "and-an-agreed-directory-tree"]], "Annexe A : Contexte": [[89, "annexe-a-contexte"]], "Annonce de Sr3": [[107, "annonce-de-sr3"]], "Announcing Sr3": [[35, "announcing-sr3"]], "Another example": [[64, "another-example"]], "Anti-Virus Scanning": [[54, "anti-virus-scanning"]], "Apatridie/Crawlable": [[112, "apatridie-crawlable"]], "Aper\u00e7u": [[79, "apercu"], [101, "apercu"]], "Aper\u00e7u D\u00e9taill\u00e9": [[101, "apercu-detaille"]], "Appendix A: Background": [[0, "appendix-a-background"]], "Application Changes in 2017": [[29, "application-changes-in-2017"]], "Applications M\u00e9t\u00e9orologiques": [[110, "applications-meteorologiques"]], "Apr\u00e8s la parit\u00e9 : de vraies am\u00e9liorations": [[99, "apres-la-parite-de-vraies-ameliorations"]], "Assurer la livraison (inflight)": [[102, "assurer-la-livraison-inflight"]], "Audience": [[38, "audience"], [116, "audience"]], "Automated Build": [[3, "automated-build"]], "Autonome": [[104, "autonome"]], "Autres champs de rapport": [[128, "autres-champs-de-rapport"]], "Autres exemples": [[82, "autres-exemples"]], "Autres param\u00e8tres": [[89, "autres-parametres"]], "Avec les avis AMQP sur un serveur de fichiers standard": [[112, "avec-les-avis-amqp-sur-un-serveur-de-fichiers-standard"]], "BODY: { } (JSON encoding.)": [[128, "body-en-tete-json-encoding"]], "BODY: { } (JSON encoding.)": [[64, "body-headers-json-encoding"]], "BUGS/Concerns/Issues": [[19, "bugs-concerns-issues"]], "BUGS/Pr\u00e9occupations/Probl\u00e8mes": [[99, "bugs-preoccupations-problemes"]], "BUNNY-OP and dd_dispatcher.py": [[46, "bunny-op-and-dd-dispatcher-py"]], "BUNNY-OP et dd_dispatcher.py": [[78, "bunny-op-et-dd-dispatcher-py"]], "Back Pressure": [[17, "back-pressure"], [26, "back-pressure"]], "Backporting a Dependency": [[3, "backporting-a-dependency"]], "Basic Idea": [[1, "basic-idea"]], "Better File Reception": [[38, "better-file-reception"]], "Biblioth\u00e8que Shim": [[109, "bibliotheque-shim"]], "Biblioth\u00e8que Shim n\u00e9cessaire": [[109, "bibliotheque-shim-necessaire"]], "Bindings": [[68, "Bindings"]], "Bonus": [[12, "Bonus"]], "Branches Principales": [[92, "branches-principales"]], "Brief Introduction to Regular Expressions": [[20, "brief-introduction-to-regular-expressions"], [106, "brief-introduction-to-regular-expressions"]], "Bringing Amdahl & CAP Together": [[8, "Bringing-Amdahl-&-CAP-Together"]], "Broker": [[126, "broker"]], "Build Automatis\u00e9e": [[92, "build-automatisee"]], "Building a Release": [[3, "building-a-release"]], "Building a Windows Installer": [[3, "building-a-windows-installer"]], "Building an RPM": [[3, "building-an-rpm"]], "Builds quotidiennes": [[92, "builds-quotidiennes"]], "CAP Theorem": [[8, "CAP-Theorem"]], "CAP Theorem Applied": [[8, "CAP-Theorem-Applied"]], "CFG messages": [[32, "cfg-messages"]], "COMPONENTS": [[20, "components"], [59, "components"]], "COMPOSANTS": [[106, "composants"], [123, "composants"]], "CONFIGURATION": [[16, "configuration"], [60, "configuration"], [61, "configuration"], [97, "configuration"], [124, "configuration"], [125, "configuration"]], "CONFIGURATION 1 : R\u00c9PLICATION POMPE \u00c0 POMPE": [[106, "configuration-1-replication-pompe-a-pompe"]], "CONFIGURATION DE DESTINATION 2 : DIFFUSION DE TYPE METPX-SUNDEW": [[106, "configuration-de-destination-2-diffusion-de-type-metpx-sundew"]], "CONFIGURATION FILES": [[20, "configuration-files"]], "CONFIGURATIONS": [[59, "configurations"], [123, "configurations"]], "CONSIDERATIONS WITH ONE TO ONE FILTERS": [[39, "considerations-with-one-to-one-filters"]], "CPUMP": [[20, "cpump"], [106, "cpump"]], "CREDENTIALS": [[20, "credentials"]], "Callbacks that need Python Modules": [[38, "callbacks-that-need-python-modules"]], "Cap Theorem": [[8, "Cap-Theorem"]], "Cartes R\u00e9seau (anglais: Network Maps)": [[105, "cartes-reseau-anglais-network-maps"]], "Cas d\u2019utilisation": [[81, "cas-d-utilisation"], [83, "cas-d-utilisation"]], "Case Study: HPC Mirroring": [[28, "case-study-hpc-mirroring"]], "Caveat: Solution for This Problem, Not Every Problem": [[31, "caveat-solution-for-this-problem-not-every-problem"]], "Ce qui fonctionnera sans changement": [[88, "ce-qui-fonctionnera-sans-changement"]], "Ce qui ne fonctionnera pas sans changement": [[88, "ce-qui-ne-fonctionnera-pas-sans-changement"]], "Central Data Flows": [[29, "central-data-flows"]], "Champs dans les Messages": [[116, "champs-dans-les-messages"]], "Change Defaults": [[45, "change-defaults"]], "Changements de conception depuis l\u2019original (2015)": [[100, "changements-de-conception-depuis-loriginal-2015"]], "Changes Done to Address Pain Points": [[19, "changes-done-to-address-pain-points"]], "Changes Made to create v03": [[34, "changes-made-to-create-v03"]], "Changes from v02": [[34, "changes-from-v02"]], "Choosing AP:": [[8, "Choosing-AP:"]], "Choosing CA:": [[8, "Choosing-CA:"]], "Choosing CP:": [[8, "Choosing-CP:"]], "Cleanup": [[45, "cleanup"], [72, "cleanup"]], "Client": [[22, "client"], [104, "client"]], "Client Installation": [[70, "client-installation"]], "Client-side Filtering": [[20, "client-side-filtering"], [106, "client-side-filtering"]], "Cloud Solves This!": [[8, "Cloud-Solves-This!"]], "Clustered Broker Keepalived Setup": [[45, "clustered-broker-keepalived-setup"]], "Code Reference": [[56, "code-reference"]], "Code Style": [[4, "code-style"]], "Coding Differences between plugins in v2 vs. Sr3": [[55, "coding-differences-between-plugins-in-v2-vs-sr3"]], "Coming in 2018": [[29, "coming-in-2018"]], "Command Line Difference": [[55, "command-line-difference"]], "Command Line Guide": [[20, "command-line-guide"]], "Comment Faire": [[85, "comment-faire"]], "Comment adopter l\u2019AMQP": [[89, "comment-adopter-lamqp"]], "Comment configurer un abonn\u00e9 distant": [[135, "comment-configurer-un-abonne-distant"]], "Comment s\u00e9lectionner Chunksize": [[95, "comment-selectionner-chunksize"]], "Commit de Code": [[92, "commit-de-code"]], "Commits to the Development Branch": [[3, "commits-to-the-development-branch"]], "Commits vers la branche principale": [[92, "commits-vers-la-branche-principale"]], "Committing Code": [[3, "committing-code"]], "Commutateurs/Routage": [[104, "commutateurs-routage"]], "Comparison to 2015 Video": [[29, "comparison-to-2015-video"], [110, "comparison-to-2015-video"]], "Components": [[18, "components"]], "Composants": [[94, "composants"]], "Concepts g\u00e9n\u00e9raux de Sarracenia": [[103, "concepts-generaux-de-sarracenia"]], "Conclusion": [[19, "conclusion"], [65, "Conclusion"], [68, "Conclusion"], [99, "conclusion"], [129, "Conclusion"], [132, "Conclusion"]], "Conclusion:": [[67, "Conclusion:"], [131, "Conclusion:"]], "Concrete Plan (Done)": [[19, "concrete-plan-done"]], "Config": [[77, "config"]], "Config File Entries and Callbacks": [[66, "Config-File-Entries-and-Callbacks"]], "Config File Entries to use Flow_Callbacks": [[48, "config-file-entries-to-use-flow-callbacks"]], "Configuration Files": [[55, "configuration-files"]], "Configuration Upgrade": [[55, "configuration-upgrade"]], "Configuration de fil d\u00b4attente": [[106, "configuration-de-fil-d-attente"]], "Configuration keepalived d\u2019un courtier Clustered": [[79, "configuration-keepalived-d-un-courtier-clustered"]], "Configurations": [[20, "configurations"], [106, "configurations"]], "Configurations a Distance": [[123, "configurations-a-distance"]], "Configurations homologues simples/\u00e9volutives pour les nations": [[112, "configurations-homologues-simples-evolutives-pour-les-nations"]], "Configurer l\u2019environnement de test de flux": [[92, "configurer-lenvironnement-de-test-de-flux"]], "Consid\u00e9rations de s\u00e9curit\u00e9": [[104, "considerations-de-securite"]], "Consid\u00e9rations relatives au d\u00e9ploiement": [[104, "considerations-relatives-au-deploiement"]], "Consid\u00e9rations relatives au serveur/protocole": [[95, "considerations-relatives-au-serveur-protocole"]], "Consid\u00e9rations relatives \u00e0 l\u2019efficacit\u00e9": [[86, "considerations-relatives-a-lefficacite"]], "Contents": [[0, "contents"], [2, "contents"], [29, "contents"], [31, "contents"], [39, "contents"], [41, "contents"], [42, "contents"], [55, "contents"], [56, "contents"], [57, "contents"], [88, "contents"], [89, "contents"], [90, "contents"], [110, "contents"], [112, "contents"]], "Contents:": [[13, null], [15, null], [30, null], [40, null], [43, null], [58, null], [74, null], [85, null], [122, null], [138, null], [139, null], [140, null]], "Contenu en ligne dans les messages": [[112, "contenu-en-ligne-dans-les-messages"]], "Contenu:": [[111, null], [119, null]], "Contenus:": [[96, null]], "Continuous Mirroring": [[28, "continuous-mirroring"]], "Continuously Mirror 27 Million File Tree Very Quickly": [[28, "continuously-mirror-27-million-file-tree-very-quickly"]], "Contre-Pression (anglais: Back Pressure)": [[105, "contre-pression-anglais-back-pressure"]], "Contre-pression": [[98, "contre-pression"]], "Contribuer \u00e0 Sarracenia": [[96, "contribuer-a-sarracenia"]], "Contributing": [[15, "contributing"]], "Contribution": [[4, "contribution"], [91, "contribution"]], "Contributions": [[28, "contributions"], [109, "contributions"]], "Contr\u00f4le de la journalisation": [[116, "controle-de-la-journalisation"]], "Convention d\u00b4appellation de files d\u00b4attente": [[106, "convention-d-appellation-de-files-d-attente"]], "Convention d\u00b4appellation des EXCHANGES": [[106, "convention-d-appellation-des-exchanges"]], "Conventions": [[3, "conventions"], [92, "conventions"]], "Copie de fichiers": [[109, "copie-de-fichiers"]], "Copying Files": [[28, "copying-files"]], "Corr\u00e9spondance des concepts AMQP avec Sarracenia": [[103, "correspondance-des-concepts-amqp-avec-sarracenia"]], "Cost": [[44, "cost"]], "Co\u00fbt": [[120, "cout"]], "Creating the Queue": [[20, "creating-the-queue"]], "Credential Details": [[20, "credential-details"], [61, "credential-details"]], "Crochets de Sundew": [[79, "crochets-de-sundew"]], "Cr\u00e9ation d\u2019un RPM": [[92, "creation-dun-rpm"]], "Cr\u00e9ation d\u2019un programme d\u2019installation Windows": [[92, "creation-dun-programme-dinstallation-windows"]], "Cr\u00e9ation d\u2019une version": [[92, "creation-d-une-version"]], "Customize File handling with Callbacks.": [[66, "Customize-File-handling-with-Callbacks."]], "DESCRIPTION": [[16, "description"], [39, "description"], [41, "description"], [42, "description"], [59, "description"], [60, "description"], [62, "description"], [63, "description"], [64, "description"], [97, "description"], [123, "description"], [124, "description"], [126, "description"], [127, "description"], [128, "description"]], "DESTFNSCRIPT": [[55, "destfnscript"], [88, "destfnscript"]], "DESTFNSCRIPTS": [[38, "destfnscripts"]], "DESTINATION SETUP 2 : METPX-SUNDEW LIKE DISSEMINATION": [[20, "destination-setup-2-metpx-sundew-like-dissemination"]], "Daily Builds": [[3, "daily-builds"]], "Dans le menu D\u00e9marrer :": [[137, "dans-le-menu-demarrer"]], "Data (bas\u00e9 uniquement sur le contenu)": [[118, "data-base-uniquement-sur-le-contenu"]], "Data Loss": [[54, "data-loss"]], "Data Oriented": [[24, "data-oriented"]], "Data Sources": [[53, "data-sources"]], "Databases are Optimal for Fixed Sized Records. No One Uses Them That Way": [[31, "databases-are-optimal-for-fixed-sized-records-no-one-uses-them-that-way"]], "Dataless Avec Sr_poll": [[104, "dataless-avec-sr-poll"]], "Dataless Pumps": [[26, "dataless-pumps"]], "Dataless Transfers": [[26, "dataless-transfers"]], "Dataless With Sr_poll": [[22, "dataless-with-sr-poll"]], "Dataless or S=0": [[22, "dataless-or-s-0"]], "Dataless ou S=0": [[104, "dataless-ou-s-0"]], "Dataless vann\u00e9e": [[104, "dataless-vannee"]], "De URP-1/2 annoncer \u00e0 BUNNY-OP qu\u2019un produit est pr\u00eat": [[78, "de-urp-1-2-annoncer-a-bunny-op-quun-produit-est-pret"]], "Debian/Ubuntu": [[3, "debian-ubuntu"], [92, "debian-ubuntu"]], "Debugging in callbacks": [[38, "debugging-in-callbacks"]], "Decoding Contents": [[47, "decoding-contents"]], "Definitions": [[8, "Definitions"]], "Delivery Completion (inflight)": [[25, "delivery-completion-inflight"]], "Deployment Considerations": [[22, "deployment-considerations"]], "Deployments/Use Cases": [[27, "deployments-use-cases"]], "Deprecated v2 plugins": [[20, "deprecated-v2-plugins"]], "Description des Tests sr_insects": [[92, "description-des-tests-sr-insects"]], "Description du protocole / format du message v02": [[114, "description-du-protocole-format-du-message-v02"]], "Description of the message v02 protocol / format": [[33, "description-of-the-message-v02-protocol-format"]], "Design Changes since Original (2015)": [[5, "design-changes-since-original-2015"]], "Design Decisions/Assumptions": [[9, "Design-Decisions/Assumptions"]], "Designs": [[22, "designs"]], "Details d\u2019Identifiants": [[106, "details-d-identifiants"]], "Detection Methods: Inotify, Policy, SHIM": [[28, "detection-methods-inotify-policy-shim"]], "Development": [[3, "development"]], "Development Environment": [[3, "development-environment"]], "Dictionaries or Members for Properties?": [[19, "dictionaries-or-members-for-properties"]], "Dictionary Pre-Routing": [[12, "Dictionary-Pre-Routing"], [12, "id2"]], "Dictionnaires ou membres pour les propri\u00e9t\u00e9s ?": [[99, "dictionnaires-ou-membres-pour-les-proprietes"]], "Diff\u00e9rence de ligne de commande": [[88, "difference-de-ligne-de-commande"]], "Diff\u00e9rences de codage entre les plugins dans v2 vs Sr3": [[88, "differences-de-codage-entre-les-plugins-dans-v2-vs-sr3"]], "Diff\u00e9rences par rapport \u00e0 v02": [[115, "differences-par-rapport-a-v02"]], "Digression about ZSync": [[14, "digression-about-zsync"]], "Digression sur ZSync": [[95, "digression-sur-zsync"]], "Discussion of File Modification Propagation": [[14, "discussion-of-file-modification-propagation"]], "Discussion sur la propagation de la modification de fichiers": [[95, "discussion-sur-la-propagation-de-la-modification-de-fichiers"]], "Dispatcher": [[9, "Dispatcher"]], "Distributed Duplicate Suppression": [[11, "Distributed-Duplicate-Suppression"]], "Distributions Redhat/Suse (bas\u00e9es sur rpm)": [[134, "distributions-redhat-suse-basees-sur-rpm"]], "Do you already have it?": [[70, "do-you-already-have-it"]], "Documentation": [[3, "documentation"], [92, "documentation"]], "Documentation Standards": [[4, "documentation-standards"]], "Does it Work?": [[28, "does-it-work"]], "Done": [[19, "done"]], "DoneTodo": [[19, "donetodo"]], "Download Renaming": [[48, "download-renaming"]], "Downloading": [[47, "downloading"]], "Downloading Data with Python": [[68, "Downloading-Data-with-Python"]], "Downloading Using the Command Line": [[65, "Downloading-Using-the-Command-Line"]], "Duplicate Suppression": [[11, "Duplicate-Suppression"], [24, "duplicate-suppression"]], "Dynamic Flow": [[3, "dynamic-flow"], [92, "dynamic-flow"]], "Dynamic Flow Test Length": [[3, "dynamic-flow-test-length"]], "D\u00e9codage du contenu": [[83, "decodage-du-contenu"]], "D\u00e9finir la version": [[92, "definir-la-version"]], "D\u00e9marrage": [[79, "demarrage"], [135, "demarrage"]], "D\u00e9marrage et arr\u00eat du syst\u00e8me": [[134, "demarrage-et-arret-du-systeme"]], "D\u00e9ploiements/cas d\u2019utilisation": [[108, "deploiements-cas-dutilisation"]], "D\u00e9veloppement": [[92, "developpement"]], "D\u2019o\u00f9 vient l\u2019AMQP?": [[89, "dou-vient-lamqp"]], "ENVIRONMENT VARIABLES": [[16, "environment-variables"], [60, "environment-variables"], [63, "environment-variables"]], "ERROR RECOVERY": [[20, "error-recovery"]], "EXAMPLE": [[64, "example"]], "EXAMPLES": [[20, "examples"], [59, "examples"]], "EXEMPLE": [[128, "exemple"]], "EXEMPLES": [[106, "exemples"], [123, "exemples"]], "Efficiency Considerations": [[53, "efficiency-considerations"]], "Eliminate Dispatcher": [[12, "Eliminate-Dispatcher"], [12, "id1"]], "Eliminate Log Locking": [[12, "Eliminate-Log-Locking"]], "Email Ingesting with Sarracenia (v2)": [[47, "email-ingesting-with-sarracenia-v2"]], "En-t\u00eates d\u2019utilisateur": [[86, "en-tetes-d-utilisateur"]], "En-t\u00eates facultatives": [[128, "en-tetes-facultatives"]], "Engins de transport": [[104, "engins-de-transport"]], "Enregistrement de r\u00e9vision": [[86, "enregistrement-de-revision"], [87, "enregistrement-de-revision"], [134, "enregistrement-de-revision"]], "Ensuring Things are Up": [[45, "ensuring-things-are-up"]], "Entretien m\u00e9nager - sr_audit": [[79, "entretien-menager-sr-audit"]], "Entry Points": [[48, "entry-points"]], "Entr\u00e9es de fichier de configuration et rappels": [[130, "Entr\u00e9es-de-fichier-de-configuration-et-rappels"]], "Entr\u00e9es de fichier de configuration pour utiliser Flow_Callbacks": [[82, "entrees-de-fichier-de-configuration-pour-utiliser-flow-callbacks"]], "Environment Variables": [[20, "environment-variables"], [106, "environment-variables"]], "Environnement de d\u00e9veloppement": [[92, "environnement-de-developpement"]], "Erreurs de configuration fr\u00e9quentes": [[102, "erreurs-de-configuration-frequentes"]], "Est-ce que \u00e7a marche?": [[109, "est-ce-que-ca-marche"]], "Est-ce rapide?": [[109, "est-ce-rapide"]], "Et une arborescence de r\u00e9pertoires convenue": [[112, "et-une-arborescence-de-repertoires-convenue"]], "Examples of Integrating APIs into Plugins": [[49, "examples-of-integrating-apis-into-plugins"]], "Examples of Non-Shared Approaches": [[8, "Examples-of-Non-Shared-Approaches"]], "Excess Queueing/Performance": [[45, "excess-queueing-performance"]], "Exc\u00e8s de fil d\u2019attente/performance": [[79, "exces-de-fil-d-attente-performance"]], "Executive Summary": [[31, "executive-summary"]], "Exemple de sous-classe Flowcb": [[82, "exemple-de-sous-classe-flowcb"], [130, "Exemple-de-sous-classe-Flowcb"]], "Exemple d\u2019API de flux": [[131, "Exemple-d\u2019API-de-flux"]], "Exemples d\u2019int\u00e9gration d\u2019API dans des plugins": [[81, "exemples-dintegration-dapi-dans-des-plugins"]], "Exigences minimales": [[79, "exigences-minimales"]], "Exigences sp\u00e9cifiques de consommation": [[106, "exigences-specifiques-de-consommation"]], "Explanation": [[4, "explanation"], [43, "explanation"]], "Explication": [[91, "explication"], [119, "explication"]], "Extending Classes": [[38, "extending-classes"]], "Extending Polling Protocols": [[47, "extending-polling-protocols"], [49, "extending-polling-protocols"], [83, "extending-polling-protocols"]], "Extension Ideas": [[38, "extension-ideas"]], "Extension des classes": [[116, "extension-des-classes"]], "Extension des protocoles de poll": [[81, "extension-des-protocoles-de-poll"]], "Extensions": [[20, "extensions"], [106, "extensions"]], "Ex\u00e9cuter un test de Flux": [[92, "executer-un-test-de-flux"]], "Ex\u00e9cution de MetPX via Docker": [[80, "execution-de-metpx-via-docker"]], "Ex\u00e9cution de Sarracenia avec une invite de commandes": [[137, "execution-de-sarracenia-avec-une-invite-de-commandes"]], "Ex\u00e9cution de Sarracenia sans invite de commandes": [[137, "execution-de-sarracenia-sans-invite-de-commandes"]], "Ex\u00e9cution de tests de Flux": [[92, "execution-de-tests-de-flux"]], "FICHIERS DE CONFIGURATION": [[106, "fichiers-de-configuration"]], "FINAL REMARKS ON ONE TO ONE FILTER": [[39, "final-remarks-on-one-to-one-filter"]], "FIXME/Deferred": [[19, "fixme-deferred"]], "FIXME/Diff\u00e9r\u00e9": [[99, "fixme-differe"]], "FLOW": [[20, "flow"], [106, "flow"]], "FTP": [[44, "ftp"], [120, "ftp"]], "FTPS": [[44, "ftps"], [120, "ftps"]], "Fait": [[99, "fait"]], "Features": [[19, "features"]], "Fewer Klocs, Better klocs": [[27, "fewer-klocs-better-klocs"]], "Fiabilit\u00e9 et sommes de contr\u00f4le": [[86, "fiabilite-et-sommes-de-controle"]], "Fiabilit\u00e9/Complexit\u00e9": [[120, "fiabilite-complexite"]], "Fichiers de configuration": [[88, "fichiers-de-configuration"]], "Fichiers journal et Suivi": [[106, "fichiers-journal-et-suivi"]], "Fichiers trop vieux": [[118, "fichiers-trop-vieux"]], "Fichiers volumineux": [[86, "fichiers-volumineux"]], "Field Replacements": [[20, "field-replacements"], [106, "field-replacements"]], "Fields in Messages": [[38, "fields-in-messages"]], "File Detection Strategies": [[23, "file-detection-strategies"], [117, "file-detection-strategies"]], "File Detection Strategy Table": [[23, "file-detection-strategy-table"]], "File Notification Without Downloading": [[38, "file-notification-without-downloading"]], "File Partitioning": [[20, "file-partitioning"]], "File Placement": [[55, "file-placement"]], "File Re-assembling": [[18, "file-re-assembling"]], "File d\u00b4attente trop important": [[87, "file-d-attente-trop-important"]], "Files That Change Too Often (mdelaylatest)": [[24, "files-that-change-too-often-mdelaylatest"]], "Files That are Too Old": [[24, "files-that-are-too-old"]], "First Subscribe": [[45, "first-subscribe"]], "Flakey Broker": [[3, "flakey-broker"], [92, "flakey-broker"]], "Flots Centrales": [[110, "flots-centrales"]], "Flow Callback Points": [[38, "flow-callback-points"]], "Flow Callback Poll Customization": [[38, "flow-callback-poll-customization"]], "Flow Callbacks": [[38, "flow-callbacks"]], "Flow Cleanup": [[3, "flow-cleanup"], [92, "flow-cleanup"]], "Flow Test Coinc\u00e9": [[92, "flow-test-coince"]], "Flow Test Stuck": [[3, "flow-test-stuck"]], "Flow Through Pumps": [[21, "flow-through-pumps"]], "Flow tests avec MQTT": [[92, "flow-tests-avec-mqtt"]], "Flow tests with MQTT": [[3, "flow-tests-with-mqtt"]], "FlowCallback Reference": [[57, "flowcallback-reference"]], "Flux de travail v2": [[92, "flux-de-travail-v2"]], "Flux de travail v3": [[92, "flux-de-travail-v3"]], "Flux programm\u00e9": [[88, "flux-programme"]], "Folder Structure": [[4, "folder-structure"]], "Fonctionnalit\u00e9: Plages d\u2019octets": [[120, "fonctionnalite-plages-doctets"]], "Fonctionnalit\u00e9s": [[99, "fonctionnalites"]], "Format de fichier de configuration SR3": [[126, "format-de-fichier-de-configuration-sr3"]], "Format/Protocole de messages d\u2019annonce Sarracenia": [[128, "format-protocole-de-messages-d-annonce-sarracenia"]], "Frais g\u00e9n\u00e9raux": [[109, "frais-generaux"]], "Frequent Configuration Errors": [[25, "frequent-configuration-errors"]], "From Anaconda Prompt:": [[73, "from-anaconda-prompt"]], "From URP-1/2 announce to BUNNY-OP that a product is ready": [[46, "from-urp-1-2-announce-to-bunny-op-that-a-product-is-ready"]], "From a Windows Powershell session:": [[73, "from-a-windows-powershell-session"]], "From the Start Menu:": [[73, "from-the-start-menu"]], "From the Task Scheduler:": [[73, "from-the-task-scheduler"]], "Functionality: Byte Ranges": [[44, "functionality-byte-ranges"]], "GOES-R Acquisition": [[29, "goes-r-acquisition"]], "GTS a \u00e9t\u00e9 con\u00e7u il y a longtemps": [[112, "gts-a-ete-concu-il-y-a-longtemps"]], "GTS est limit\u00e9 et inflexible": [[112, "gts-est-limite-et-inflexible"]], "GTS is Limited & Inflexible": [[31, "gts-is-limited-inflexible"]], "GTS was Designed Long Ago": [[31, "gts-was-designed-long-ago"]], "GUIDE DE MISE A NIVEAU": [[84, "guide-de-mise-a-niveau"]], "General Sarracenia Concepts": [[21, "general-sarracenia-concepts"]], "Gestion des utilisateurs d\u2019une pompe \u00e0 l\u2019aide de Sr_audit": [[79, "gestion-des-utilisateurs-d-une-pompe-a-l-aide-de-sr-audit"]], "Global Duplication Suppression": [[11, "Global-Duplication-Suppression"]], "Glossaire": [[104, "glossaire"], [105, "glossaire"]], "Glossary": [[22, "glossary"], [26, "glossary"]], "Guide De Ligne De Commande": [[106, "guide-de-ligne-de-commande"]], "Guide de Style": [[91, "guide-de-style"]], "Guide de l\u2019abonn\u00e9": [[87, "guide-de-labonne"]], "Guide de programmation sarracenia": [[116, "guide-de-programmation-sarracenia"]], "Guide du d\u00e9veloppeur MetPX-Sarracenia": [[92, "guide-du-developpeur-metpx-sarracenia"]], "HOWTOS": [[52, "howtos"]], "HPC Acquisition Feeds": [[29, "hpc-acquisition-feeds"]], "HPC Mirroring": [[29, "hpc-mirroring"], [110, "hpc-mirroring"]], "HPC mirrorring": [[24, "hpc-mirrorring"]], "HPCR Solution Overview": [[28, "hpcr-solution-overview"]], "HTTP Injection": [[53, "http-injection"]], "Hierarchical Settings": [[38, "hierarchical-settings"]], "High Performance Duplicate Suppression": [[54, "high-performance-duplicate-suppression"]], "High Priority Delivery": [[54, "high-priority-delivery"]], "High volume sample": [[3, "high-volume-sample"]], "Histoire": [[111, "histoire"]], "Histoire/Contexte de Sarracenia": [[108, "histoire-contexte-de-sarracenia"]], "History": [[30, "history"]], "History/Context of Sarracenia": [[27, "history-context-of-sarracenia"]], "Hooks from Sundew": [[45, "hooks-from-sundew"]], "Housekeeping - sr3 sanity": [[45, "housekeeping-sr3-sanity"]], "Housekeeping Metrics": [[54, "housekeeping-metrics"]], "How to Adopt AMQP": [[0, "how-to-adopt-amqp"]], "How to Select Chunksize": [[14, "how-to-select-chunksize"]], "How to setup a Remote Subscriber": [[72, "how-to-setup-a-remote-subscriber"]], "How2Guides": [[4, "how2guides"]], "How2Guides (Comment Faire)": [[91, "how2guides-comment-faire"]], "IDENTIFICATION (CREDENTIALS)": [[106, "identification-credentials"]], "INSTANCES": [[20, "instances"], [106, "instances"]], "IPv6": [[22, "ipv6"], [104, "ipv6"]], "Identifiants et Details": [[125, "identifiants-et-details"]], "Identity": [[20, "identity"], [106, "identity"]], "Id\u00e9e de Base": [[93, "idee-de-base"]], "Id\u00e9es d\u2019extension": [[116, "idees-dextension"]], "Implementations": [[37, "implementations"]], "Implementing POP/IMAP": [[47, "implementing-pop-imap"]], "Impl\u00e9mentations": [[101, "implementations"]], "Importation d\u2019extensions": [[106, "importation-dextensions"]], "Importing Extensions": [[20, "importing-extensions"]], "Incompatibilities": [[19, "incompatibilities"]], "Incompatibilit\u00e9s": [[99, "incompatibilites"]], "Indices and tables": [[140, "indices-and-tables"]], "Inflight Table": [[25, "inflight-table"]], "Ingestion par e-mail avec Sarracenia": [[83, "ingestion-par-e-mail-avec-sarracenia"]], "Init Integration": [[45, "init-integration"]], "Initialisation et param\u00e8tres": [[82, "initialisation-et-parametres"]], "Initialization and Settings": [[48, "initialization-and-settings"]], "Injecting Data into a MetPX-Sarracenia Pump Network": [[53, "injecting-data-into-a-metpx-sarracenia-pump-network"]], "Injection HTTP": [[86, "injection-http"]], "Injection SFTP": [[86, "injection-sftp"]], "Injection de donn\u00e9es dans un r\u00e9seau de pompes MetPX-Sarracenia": [[86, "injection-de-donnees-dans-un-reseau-de-pompes-metpx-sarracenia"]], "Inline Content in Messages": [[31, "inline-content-in-messages"]], "Input Validation": [[22, "input-validation"]], "Inqui\u00e9tudes abord\u00e9es": [[99, "inquietudes-abordees"]], "Install Servers on Workstation": [[3, "install-servers-on-workstation"]], "Installation": [[45, "installation"], [79, "installation"]], "Installation Client": [[134, "installation-client"]], "Installation Instructions": [[50, "installation-instructions"]], "Installation Rabbitmq": [[79, "installation-rabbitmq"]], "Installation de MetPX Sarracenia": [[134, "installation-de-metpx-sarracenia"]], "Installation d\u2019un RABBITMQ-SERVER": [[78, "installation-d-un-rabbitmq-server"]], "Installation locale": [[92, "installation-locale"]], "Installations avanc\u00e9es": [[79, "installations-avancees"]], "Installer des serveurs sur un poste de travail": [[92, "installer-des-serveurs-sur-un-poste-de-travail"]], "Instances": [[62, "instances"], [126, "instances"]], "Instructions d\u2019installation": [[84, "instructions-dinstallation"]], "Intel/Cray HPC Stack": [[0, "intel-cray-hpc-stack"]], "Internet Push est un mauvais ajustement pour les gros flux": [[112, "internet-push-est-un-mauvais-ajustement-pour-les-gros-flux"]], "Internet Push is a Poor Fit for Large Feeds": [[31, "internet-push-is-a-poor-fit-for-large-feeds"]], "Interrogation de sources externes": [[86, "interrogation-de-sources-externes"]], "Introduction": [[38, "introduction"], [38, "id1"], [46, "introduction"], [51, "introduction"], [54, "introduction"], [78, "introduction"], [80, "introduction"], [87, "introduction"], [116, "introduction"]], "Int\u00e9gration Init": [[79, "integration-init"]], "Int\u00e9gration LDAP": [[79, "integration-ldap"]], "Is it Fast?": [[28, "is-it-fast"]], "It\u00b4s About Time": [[6, "It\u00b4s-About-Time"]], "Journalisation": [[80, "journalisation"], [82, "journalisation"]], "Journalisation et d\u00e9bogage": [[87, "journalisation-et-debogage"]], "Journaux des messages": [[113, "journaux-des-messages"]], "Key Branches": [[3, "key-branches"]], "Known Problems (Solved in sr3)": [[19, "known-problems-solved-in-sr3"]], "LDAP Integration": [[45, "ldap-integration"]], "LES EN-T\u00caTES FIXES": [[128, "les-en-tetes-fixes"]], "LOGS and MONITORING": [[20, "logs-and-monitoring"]], "La ceuillette de messages": [[106, "la-ceuillette-de-messages"]], "La lecture de l\u2019arbre prend trop de temps": [[109, "la-lecture-de-larbre-prend-trop-de-temps"]], "Large Files": [[53, "large-files"]], "Large Numbers of Processors Need High Parallelism": [[7, "Large-Numbers-of-Processors-Need-High-Parallelism"]], "Latence (anglais: Latency)": [[105, "latence-anglais-latency"]], "Latency": [[26, "latency"]], "Launchpad": [[3, "launchpad"], [92, "launchpad"]], "Le fichiers trop changeant (mdelaylatest)": [[118, "le-fichiers-trop-changeant-mdelaylatest"]], "Le flux \u00e0 travers des Pompes": [[103, "le-flux-a-travers-des-pompes"]], "Les bases de donn\u00e9es sont optimales pour les enregistrements de taille fixe. Personne ne les utilise de cette fa\u00e7on": [[112, "les-bases-de-donnees-sont-optimales-pour-les-enregistrements-de-taille-fixe-personne-ne-les-utilise-de-cette-facon"]], "Let the Computer Do It": [[6, "Let-the-Computer-Do-It"]], "Liaisons": [[132, "Liaisons"]], "Limitation": [[3, "limitation"], [92, "limitation"]], "Listes De Travail": [[130, "Listes-De-Travail"]], "Listes de travail (Worklist)": [[116, "listes-de-travail-worklist"]], "Little Data": [[0, "little-data"]], "Livraison hautement prioritaire": [[87, "livraison-hautement-prioritaire"]], "Local Installation": [[3, "local-installation"]], "Local Pip install": [[3, "local-pip-install"]], "Local Python": [[3, "local-python"], [92, "local-python"]], "Localisation": [[91, "localisation"]], "Localization": [[4, "localization"]], "Log messages": [[32, "log-messages"]], "Logging": [[48, "logging"], [51, "logging"], [66, "Logging"]], "Logging Control": [[38, "logging-control"]], "Logging and Debugging": [[54, "logging-and-debugging"]], "Logs": [[59, "logs"], [123, "logs"]], "Longer Overview": [[37, "longer-overview"]], "Longueur du test Dynamic Flow": [[92, "longueur-du-test-dynamic-flow"]], "L\u2019algorithme de Flux": [[103, "l-algorithme-de-flux"]], "L\u2019avez-vous d\u00e9j\u00e0?": [[134, "lavez-vous-deja"]], "METHODOLOGY": [[41, "methodology"]], "MIGRATING FILTERS": [[41, "migrating-filters"]], "MIGRATING SENDER": [[41, "migrating-sender"]], "MQTT": [[26, "mqtt"], [105, "mqtt"]], "MQTT (version =5) Param\u00e8tres": [[103, "mqtt-version-5-parametres"]], "MQTT (version =5) Settings": [[21, "mqtt-version-5-settings"]], "MQTT Implementation Notes": [[17, "mqtt-implementation-notes"]], "Managing Users on a Pump Using Sr_audit": [[45, "managing-users-on-a-pump-using-sr-audit"]], "Mandatory Settings": [[63, "mandatory-settings"]], "Manual Process": [[3, "manual-process"]], "Manually Adding Users": [[45, "manually-adding-users"]], "Manuel de l\u2019utilisateur Windows": [[137, "manuel-de-lutilisateur-windows"]], "Mappage des concepts AMQP \u00e0 Sarracenia": [[89, "mappage-des-concepts-amqp-a-sarracenia"]], "Mappage des points d\u2019entr\u00e9e v2 aux Callbacks v3": [[88, "mappage-des-points-d-entree-v2-aux-callbacks-v3"]], "Mappage vers MQTT": [[128, "mappage-vers-mqtt"]], "Mappages": [[99, "mappages"]], "Mapping AMQP Concepts to Sarracenia": [[0, "mapping-amqp-concepts-to-sarracenia"], [21, "mapping-amqp-concepts-to-sarracenia"]], "Mapping to MQTT": [[64, "mapping-to-mqtt"]], "Mapping v2 Entry Points to v3 Callbacks": [[55, "mapping-v2-entry-points-to-v3-callbacks"]], "Mappings": [[19, "mappings"]], "Maturity": [[31, "maturity"]], "Maturit\u00e9": [[112, "maturite"]], "Meilleure r\u00e9ception des fichiers": [[116, "meilleure-reception-des-fichiers"]], "Mesh-Style Data Exchange for the WIS-GTS in 2019": [[31, "mesh-style-data-exchange-for-the-wis-gts-in-2019"]], "Message Gathering": [[20, "message-gathering"]], "Message v01 Format": [[32, "message-v01-format"], [113, "message-v01-format"]], "Messages": [[68, "Messages"], [132, "Messages"]], "Messages de Rapport (anglais: Report messages)": [[105, "messages-de-rapport-anglais-report-messages"]], "Messages de rapport": [[86, "messages-de-rapport"]], "Messages du CFG": [[113, "messages-du-cfg"]], "MetPX Sarracenia Wiki": [[76, "metpx-sarracenia-wiki"]], "MetPX-Sarracenia Developer\u2019s Guide": [[3, "metpx-sarracenia-developer-s-guide"]], "MetPX-Sarracenia Installation": [[70, "metpx-sarracenia-installation"]], "Minimum Requirements": [[45, "minimum-requirements"]], "Miroitage CHP": [[118, "miroitage-chp"]], "Mise en Place": [[135, "mise-en-place"]], "Mise en garde: Solution \u00e0 ce probl\u00e8me, pas tous les probl\u00e8mes": [[112, "mise-en-garde-solution-a-ce-probleme-pas-tous-les-problemes"]], "Mise en miroir continue": [[109, "mise-en-miroir-continue"]], "Mise en miroir continue de 27 millions d\u2019arborescence de fichiers tr\u00e8s rapidement": [[109, "mise-en-miroir-continue-de-27-millions-darborescence-de-fichiers-tres-rapidement"]], "Mise en \u0153uvre de POP/IMAP": [[83, "mise-en-oeuvre-de-pop-imap"]], "Mise \u00e0 jour du site Web sf.net": [[108, "mise-a-jour-du-site-web-sf-net"]], "Mise \u00e0 niveau de la configuration": [[88, "mise-a-niveau-de-la-configuration"]], "Modification de fichiers en transit": [[82, "modification-de-fichiers-en-transit"]], "Modifications apport\u00e9es pour cr\u00e9er la v03": [[115, "modifications-apportees-pour-creer-la-v03"]], "Modifications apport\u00e9es pour r\u00e9soudre les probl\u00e8mes": [[99, "modifications-apportees-pour-resoudre-les-problemes"]], "Modifications d\u2019application en 2017": [[110, "modifications-d-application-en-2017"]], "Modifier les valeurs par d\u00e9faut": [[79, "modifier-les-valeurs-par-defaut"]], "Modifying Files in Flight": [[48, "modifying-files-in-flight"]], "Moins de Klocs, de meilleurs Klocs": [[108, "moins-de-klocs-de-meilleurs-klocs"]], "More Information": [[54, "more-information"]], "Multiple processes: Instances, Singletons and VIP": [[21, "multiple-processes-instances-singletons-and-vip"], [103, "multiple-processes-instances-singletons-and-vip"]], "M\u00e9thodes de d\u00e9tection : Inotify, Policy, SHIM": [[109, "methodes-de-detection-inotify-policy-shim"]], "M\u00e9trique Housekeeping": [[87, "metrique-housekeeping"]], "NAMING EXCHANGES": [[20, "naming-exchanges"]], "NAMING QUEUES": [[20, "naming-queues"]], "NEWS FLASH: Serial 9x Faster than Parallel!": [[7, "NEWS-FLASH:-Serial-9x-Faster-than-Parallel!"]], "NOAA CO-OPS API": [[49, "noaa-co-ops-api"]], "Name (bas\u00e9 uniquement sur le nom)": [[118, "name-base-uniquement-sur-le-nom"]], "Name Oriented": [[24, "name-oriented"]], "Named Exchanges and Queues": [[0, "named-exchanges-and-queues"]], "Navire de Th\u00e9s\u00e9e": [[99, "navire-de-thesee"]], "Nettoyage": [[79, "nettoyage"], [135, "nettoyage"]], "Network Maps": [[26, "network-maps"]], "Non-Shared Approaches.": [[8, "Non-Shared-Approaches."]], "Normes de documentation": [[91, "normes-de-documentation"]], "Not Baked/Thinking": [[19, "not-baked-thinking"]], "Notes de mise en \u0153uvre MQTT": [[98, "notes-de-mise-en-oeuvre-mqtt"]], "Notification de fichier sans t\u00e9l\u00e9chargement": [[116, "notification-de-fichier-sans-telechargement"]], "Notifications for DD": [[46, "notifications-for-dd"]], "Notifications on DD": [[45, "notifications-on-dd"]], "Notifications pour DD": [[78, "notifications-pour-dd"]], "Notifications sur DD": [[79, "notifications-sur-dd"]], "N\u00e9cessite RABBITMQ > 3.3.3.x": [[79, "necessite-rabbitmq-3-3-3-x"]], "ONE TO MANY FILTER": [[39, "one-to-many-filter"]], "ONE TO ONE FILTER": [[39, "one-to-one-filter"]], "OPTION TYPES": [[62, "option-types"]], "OPTIONS": [[59, "options"], [62, "options"], [123, "options"], [126, "options"]], "OPTIONS DE COMPATIBILIT\u00c9 SUNDEW": [[106, "options-de-compatibilite-sundew"]], "OPTIONS SR3": [[126, "options-sr3"]], "Object Stores": [[8, "Object-Stores"]], "Observations": [[11, "Observations"]], "Observations:": [[9, "Observations:"]], "OpenStack": [[0, "openstack"], [89, "openstack"]], "Operations": [[45, "operations"]], "Optimiser la s\u00e9lection des fichiers par processus": [[87, "optimiser-la-selection-des-fichiers-par-processus"]], "Optimization Possibilities": [[64, "optimization-possibilities"]], "Optimize File Selection per Process": [[54, "optimize-file-selection-per-process"]], "Optional Headers": [[64, "optional-headers"]], "Options": [[55, "options"], [88, "options"]], "Options callback": [[106, "options-callback"]], "Options obligatoires": [[127, "options-obligatoires"]], "Op\u00e9rations": [[79, "operations"]], "Other Examples": [[48, "other-examples"], [66, "Other-Examples"], [130, "Other-Examples"]], "Other Parameters": [[0, "other-parameters"]], "Other Report Fields": [[64, "other-report-fields"]], "Outage": [[54, "outage"]], "Outillage": [[92, "outillage"]], "Overall Server Algorithmic Ceiling": [[11, "Overall-Server-Algorithmic-Ceiling"]], "Overheads": [[28, "overheads"]], "Overview": [[37, "overview"], [45, "overview"]], "O\u00f9 documenter les options": [[92, "ou-documenter-les-options"]], "PDS Algorithmic Design": [[9, "PDS-Algorithmic-Design"]], "PDS-OP receptions of dispatch notification messages, wget of radar products": [[46, "pds-op-receptions-of-dispatch-notification-messages-wget-of-radar-products"]], "PERIODIC PROCESSING": [[20, "periodic-processing"]], "PIP": [[70, "id1"], [134, "id1"]], "POLL": [[20, "poll"], [106, "poll"]], "POLLING": [[20, "polling"]], "POST or WATCH": [[20, "post-or-watch"], [106, "post-or-watch"]], "POSTING": [[20, "posting"]], "PUBLICATION (POST)": [[106, "publication-post"]], "Packages": [[70, "packages"]], "Panne trop longue": [[87, "panne-trop-longue"]], "Paquets": [[134, "paquets"]], "Parallel": [[19, "parallel"], [99, "parallel"]], "Param\u00e8tres": [[116, "parametres"]], "Param\u00e8tres hi\u00e9rarchiques": [[116, "parametres-hierarchiques"]], "Partitionnement de fichiers": [[106, "partitionnement-de-fichiers"]], "Pas cuit / \u00c0 penser": [[99, "pas-cuit-a-penser"]], "Pas de FTP ?": [[101, "pas-de-ftp"]], "Performance": [[54, "performance"], [87, "performance"]], "Periodic Processing/Cron Jobs": [[70, "periodic-processing-cron-jobs"]], "Personnalisation du Callback de Flux de Poll": [[116, "personnalisation-du-callback-de-flux-de-poll"]], "Personnalisez la gestion des fichiers avec les rappels.": [[130, "Personnalisez-la-gestion-des-fichiers-avec-les-rappels."]], "Perte de donn\u00e9es": [[87, "perte-de-donnees"]], "Peu de donn\u00e9es": [[89, "peu-de-donnees"]], "Pile Intel/Cray HPC": [[89, "pile-intel-cray-hpc"]], "Pip install locale": [[92, "pip-install-locale"]], "Placement de Fichier": [[88, "placement-de-fichier"]], "Plan concret (Fait)": [[99, "plan-concret-fait"]], "Plans de Pompes": [[104, "plans-de-pompes"]], "Plugins": [[54, "plugins"], [87, "plugins"]], "Plugins That Change How a File is Downloaded": [[66, "Plugins-That-Change-How-a-File-is-Downloaded"]], "Plugins That Create New Files": [[66, "Plugins-That-Create-New-Files"]], "Plugins qui Cr\u00e9ent de Nouveaux Fichiers": [[130, "Plugins-qui-Cr\u00e9ent-de-Nouveaux-Fichiers"]], "Plugins qui Traitent un Fichier apr\u00e8s son T\u00e9l\u00e9chargement": [[130, "Plugins-qui-Traitent-un-Fichier-apr\u00e8s-son-T\u00e9l\u00e9chargement"]], "Plugins qui changent la fa\u00e7on dont un fichier est t\u00e9l\u00e9charg\u00e9": [[130, "Plugins-qui-changent-la-fa\u00e7on-dont-un-fichier-est-t\u00e9l\u00e9charg\u00e9"]], "Plugins qui renomment les fichiers": [[130, "Plugins-qui-renomment-les-fichiers"]], "Plugins that Process a file after it is Downloaded": [[66, "Plugins-that-Process-a-file-after-it-is-Downloaded"]], "Plugins that Rename Files": [[66, "Plugins-that-Rename-Files"]], "Plugins v2 Obsol\u00e8tes": [[106, "plugins-v2-obsoletes"]], "Plus d\u2019informations": [[87, "plus-dinformations"]], "Points de rappel de flux": [[116, "points-de-rappel-de-flux"]], "Points d\u2019entr\u00e9e": [[82, "points-dentree"]], "Polling": [[38, "polling"], [47, "polling"], [83, "polling"], [116, "polling"]], "Polling External Sources": [[53, "polling-external-sources"]], "Polling Protocols Natively Supported": [[49, "polling-protocols-natively-supported"]], "Pompe": [[105, "pompe"]], "Pompes sans Donn\u00e9es (anglais: Dataless Pumps)": [[105, "pompes-sans-donnees-anglais-dataless-pumps"]], "Portage des plugins V2 vers Sr3": [[88, "portage-des-plugins-v2-vers-sr3"]], "Porting V2 Plugins to Sr3": [[55, "porting-v2-plugins-to-sr3"]], "Possibilit\u00e9s d\u2019optimisation": [[128, "possibilites-doptimisation"]], "Post, Notice, Notification, Advertisement, Announcement": [[26, "post-notice-notification-advertisement-announcement"]], "Poste, Notice, Notification, Avis, Annonce": [[105, "poste-notice-notification-avis-annonce"]], "Posting from Python Code": [[69, "Posting-from-Python-Code"]], "Pourquoi SFTP est plus souvent choisi que FTPS": [[120, "pourquoi-sftp-est-plus-souvent-choisi-que-ftps"]], "Pourquoi l\u2019API v3 doit \u00eatre utilis\u00e9e dans la mesure du possible": [[116, "pourquoi-lapi-v3-doit-etre-utilisee-dans-la-mesure-du-possible"]], "Pourquoi ne pas simplement utiliser Rsync ?": [[101, "pourquoi-ne-pas-simplement-utiliser-rsync"]], "Pourquoi utiliser AMQP?": [[89, "pourquoi-utiliser-amqp"]], "Pre-Requisites": [[45, "pre-requisites"]], "Premier abonnement": [[79, "premier-abonnement"]], "Prepare a Vanilla VM": [[3, "prepare-a-vanilla-vm"]], "Prerequisites": [[65, "Prerequisites"]], "Priorities": [[31, "priorities"]], "Priorit\u00e9s": [[112, "priorites"]], "Privileged System Access": [[22, "privileged-system-access"]], "Problem Statement": [[28, "problem-statement"]], "Problems/Weaknesses of Sundew:": [[11, "Problems/Weaknesses-of-Sundew:"]], "Probl\u00e8mes connus (r\u00e9solus dans sr3)": [[99, "problemes-connus-resolus-dans-sr3"]], "Process": [[4, "process"]], "Processing": [[4, "processing"]], "Processus": [[91, "processus"]], "Processus de Renommage": [[117, "processus-de-renommage"]], "Processus manuel": [[92, "processus-manuel"]], "Product Exchangers: Supporting Large Numbers of Transfers": [[44, "product-exchangers-supporting-large-numbers-of-transfers"]], "Programmability/Interoperability": [[31, "programmability-interoperability"]], "Programmabilit\u00e9/interop\u00e9rabilit\u00e9": [[112, "programmabilite-interoperabilite"]], "Project Website": [[27, "project-website"]], "Proof": [[8, "Proof"]], "Protocoles de polling pris en charge en mode natif": [[81, "protocoles-de-polling-pris-en-charge-en-mode-natif"]], "Proxys Web": [[87, "proxys-web"]], "Pr\u00e9-requis": [[79, "pre-requis"]], "Pr\u00e9parer une machine virtuelle Vanilla": [[92, "preparer-une-machine-virtuelle-vanilla"]], "Pr\u00e9requis": [[129, "Pr\u00e9requis"]], "Pr\u00e9sentation de la solution HPCR": [[109, "presentation-de-la-solution-hpcr"]], "Publication \u00e0 partir du code Python": [[133, "Publication-\u00e0-partir-du-code-Python"]], "Publie la Disponibilit\u00e9e d\u2019un fichier aux abonn\u00e9s.": [[127, "publie-la-disponibilitee-d-un-fichier-aux-abonnes"]], "Publish the Availability of Files": [[63, "publish-the-availability-of-files"]], "Pump": [[26, "pump"]], "Pumping Network": [[26, "pumping-network"]], "PyPi": [[3, "pypi"], [92, "pypi"]], "Python Wheel": [[3, "python-wheel"], [92, "python-wheel"]], "QUEUES and MULTIPLE STREAMS": [[20, "queues-and-multiple-streams"], [106, "queues-and-multiple-streams"]], "Quand signaler": [[92, "quand-signaler"]], "Que se passe-t-il ?": [[79, "que-se-passe-t-il"]], "Que se passe-t-il si chaque notification concerne un bloc, pas un fichier ?": [[95, "que-se-passe-t-il-si-chaque-notification-concerne-un-bloc-pas-un-fichier"]], "Quickly Announcing Very Large Trees On Linux": [[53, "quickly-announcing-very-large-trees-on-linux"], [86, "quickly-announcing-very-large-trees-on-linux"]], "Quorum and Voting:": [[8, "Quorum-and-Voting:"]], "RABBITMQ-SERVER cluster installation": [[46, "rabbitmq-server-cluster-installation"]], "RABBITMQ-SERVER installation": [[46, "rabbitmq-server-installation"]], "RABBITMQ-SERVER ldap installation": [[46, "rabbitmq-server-ldap-installation"]], "RADAR": [[110, "radar"]], "RADAR Data Flows": [[29, "radar-data-flows"]], "RELATED CLIENTS": [[41, "related-clients"]], "ROLES - feeder/admin/declare": [[20, "roles-feeder-admin-declare"], [106, "roles-feeder-admin-declare"]], "Rabbitmq Setup": [[45, "rabbitmq-setup"]], "Rappels de Flux (Flow Callbacks)": [[116, "rappels-de-flux-flow-callbacks"]], "Rapports": [[79, "rapports"]], "Reading the Tree Takes Too Long": [[28, "reading-the-tree-takes-too-long"]], "Receiver": [[9, "Receiver"]], "Receiving Data from a MetPX-Sarracenia Data Pump": [[54, "receiving-data-from-a-metpx-sarracenia-data-pump"]], "Redhat/Suse Distros (rpm based)": [[70, "redhat-suse-distros-rpm-based"]], "Redundant File Reception": [[54, "redundant-file-reception"]], "Refactorisation de la version 3": [[99, "refactorisation-de-la-version-3"]], "Reference": [[4, "reference"], [58, "reference"]], "References & Links": [[37, "references-links"]], "Refining Selection": [[54, "refining-selection"]], "Release Versions and Quality Assurance": [[3, "release-versions-and-quality-assurance"]], "Releasing": [[3, "releasing"], [92, "releasing"]], "Relevance?": [[7, "Relevance?"]], "Reliability and Checksums": [[53, "reliability-and-checksums"]], "Reliability/Complexity": [[44, "reliability-complexity"]], "Remote Configurations": [[20, "remote-configurations"], [59, "remote-configurations"], [106, "remote-configurations"]], "Remplacement": [[99, "remplacement"]], "Rename Processing": [[23, "rename-processing"], [63, "rename-processing"]], "Renommage dd_subscribe": [[108, "renommage-dd-subscribe"]], "Repeated Scans and VIP": [[20, "repeated-scans-and-vip"]], "Replacement": [[19, "replacement"]], "Report Messages": [[53, "report-messages"], [64, "report-messages"], [128, "report-messages"]], "Report messages": [[26, "report-messages"]], "Report_Code": [[64, "report-code"], [128, "report-code"]], "Reports": [[45, "reports"]], "Repositories": [[3, "repositories"]], "Requires RABBITMQ > 3.3.x": [[45, "requires-rabbitmq-3-3-x"]], "Ressources c\u00f4t\u00e9 serveur allou\u00e9es aux abonn\u00e9s": [[87, "ressources-cote-serveur-allouees-aux-abonnes"]], "Review": [[0, "review"]], "Revision Record": [[38, "revision-record"], [53, "revision-record"], [54, "revision-record"], [70, "revision-record"]], "Roll Your Own": [[24, "roll-your-own"]], "Routage": [[79, "routage"]], "Routing": [[45, "routing"]], "Routing 1 Product": [[9, "Routing-1-Product"]], "Run A Flow Test": [[3, "run-a-flow-test"]], "Running Flow Tests": [[3, "running-flow-tests"]], "Running MetPX via Docker": [[51, "running-metpx-via-docker"]], "Running Sarracenia with a Command Prompt": [[73, "running-sarracenia-with-a-command-prompt"]], "Running Sarracenia without a Command Prompt": [[73, "running-sarracenia-without-a-command-prompt"]], "R\u00c9CUP\u00c9RATION D\u2019ERREUR": [[106, "recuperation-derreur"]], "R\u00e9assemblage de fichiers": [[94, "reassemblage-de-fichiers"]], "R\u00e9ception avanc\u00e9e des fichiers": [[116, "reception-avancee-des-fichiers"]], "R\u00e9ception de donn\u00e9es \u00e0 partir d\u2019une pompe de donn\u00e9es MetPX-Sarracenia": [[87, "reception-de-donnees-a-partir-dune-pompe-de-donnees-metpx-sarracenia"]], "R\u00e9ception de fichiers redondants": [[87, "reception-de-fichiers-redondants"]], "R\u00e9ceptions PDS-OP de messages de notification de r\u00e9partition, wget de produits radar": [[78, "receptions-pds-op-de-messages-de-notification-de-repartition-wget-de-produits-radar"]], "R\u00e9f\u00e9rence": [[91, "reference"], [122, "reference"]], "R\u00e9f\u00e9rences et liens": [[101, "references-et-liens"]], "R\u00e9f\u00e9rentiels": [[92, "referentiels"]], "R\u00e9glage de Broker": [[106, "reglage-de-broker"]], "R\u00e9glage du d\u00e9bogage flowcb/log.py": [[87, "reglage-du-debogage-flowcb-log-py"]], "R\u00e9glage du d\u00e9bogage moth": [[87, "reglage-du-debogage-moth"]], "R\u00e9seau de Pompage (anglais: Pumping Network)": [[105, "reseau-de-pompage-anglais-pumping-network"]], "R\u00e9sum\u00e9": [[99, "resume"], [109, "resume"], [112, "resume"], [120, "resume"]], "R\u00e9troportage d\u2019une d\u00e9pendance": [[92, "retroportage-dune-dependance"]], "R\u00e9vision": [[89, "revision"]], "R\u00e9vision de l\u2019Accel": [[99, "revision-de-laccel"]], "SARRA": [[20, "sarra"], [106, "sarra"]], "SEE ALSO": [[16, "see-also"], [41, "see-also"], [59, "see-also"], [60, "see-also"], [61, "see-also"], [62, "see-also"], [63, "see-also"], [64, "see-also"], [126, "see-also"]], "SENDER": [[20, "sender"], [106, "sender"]], "SETUP": [[42, "setup"]], "SETUP 1 : PUMP TO PUMP REPLICATION": [[20, "setup-1-pump-to-pump-replication"]], "SFTP Injection": [[53, "sftp-injection"]], "SHC SOAP Web Service": [[49, "shc-soap-web-service"]], "SHIM LIBRARY USAGE": [[23, "shim-library-usage"], [63, "shim-library-usage"], [117, "shim-library-usage"]], "SHOVEL": [[20, "shovel"], [106, "shovel"]], "SONDAGE (POLLING)": [[106, "sondage-polling"]], "SR3": [[59, "sr3"], [65, "SR3"], [123, "sr3"], [129, "SR3"]], "SR3 - Everything": [[20, "sr3-everything"]], "SR3 - Tout": [[106, "sr3-tout"]], "SR3 CREDENTIALS": [[61, "sr3-credentials"], [125, "sr3-credentials"]], "SR3 Configuration File Format": [[62, "sr3-configuration-file-format"]], "SR3 Credential File Format": [[61, "sr3-credential-file-format"]], "SR3 Credential: Format du Fichier": [[125, "sr3-credential-format-du-fichier"]], "SR3 OPTIONS": [[62, "sr3-options"]], "SR3_TITLE": [[16, "sr3-title"]], "SR3_TITRE": [[97, "sr3-titre"]], "SR_CPUMP": [[60, "sr-cpump"], [124, "sr-cpump"]], "SR_DEV_APPNAME": [[62, "sr-dev-appname"], [126, "sr-dev-appname"]], "SR_POLL CONFIG": [[41, "sr-poll-config"]], "SR_SARRA CONFIG": [[41, "sr-sarra-config"]], "SR_post": [[64, "sr-post"], [128, "sr-post"]], "STATUS: Stable/Default": [[64, "status-stable-default"], [128, "status-stable-default"]], "STATUS: WIP": [[6, "STATUS:-WIP"]], "SUBSCRIBE": [[20, "subscribe"], [106, "subscribe"]], "SUNDEW COMPATIBILITY OPTIONS": [[20, "sundew-compatibility-options"]], "SUNDEW SENDER CONVERSION PROCESS": [[42, "sundew-sender-conversion-process"]], "SYNOPSIS": [[16, "synopsis"], [59, "synopsis"], [60, "synopsis"], [62, "synopsis"], [63, "synopsis"], [64, "synopsis"], [97, "synopsis"], [123, "synopsis"], [124, "synopsis"], [126, "synopsis"], [127, "synopsis"], [128, "synopsis"]], "Sample Extensions": [[38, "sample-extensions"], [116, "sample-extensions"]], "Sample Flow Callback Class": [[66, "Sample-Flow-Callback-Class"]], "Sample Flowcb Sub-Class": [[48, "sample-flowcb-sub-class"], [66, "Sample-Flowcb-Sub-Class"]], "Sarra D\u2019une source": [[79, "sarra-d-une-source"]], "Sarra From a Source": [[45, "sarra-from-a-source"]], "Sarra d\u2019une autre pompe": [[79, "sarra-d-une-autre-pompe"]], "Sarra from Another Pump": [[45, "sarra-from-another-pump"]], "Sarrac": [[70, "sarrac"], [134, "sarrac"]], "Sarracenia": [[77, "sarracenia"]], "Sarracenia Algorithmic Design": [[11, "Sarracenia-Algorithmic-Design"]], "Sarracenia Design Philosophy": [[13, "sarracenia-design-philosophy"]], "Sarracenia Janvier 2018": [[110, "sarracenia-janvier-2018"]], "Sarracenia Programming Guide": [[38, "sarracenia-programming-guide"]], "Sarracenia Status January 2018": [[29, "sarracenia-status-january-2018"]], "Sarracenia est une application MQP": [[89, "sarracenia-est-une-application-mqp"]], "Sarracenia is an MQP Application": [[0, "sarracenia-is-an-mqp-application"]], "Sarracenia v03 Notification Message Format/Protocol": [[64, "sarracenia-v03-notification-message-format-protocol"]], "Sarracenia.FlowCB": [[77, "sarracenia-flowcb"]], "Sarracenia.Moth": [[77, "sarracenia-moth"]], "Sarracenia: File Systems Flying in Formation": [[8, "Sarracenia:-File-Systems-Flying-in-Formation"]], "Scans r\u00e9p\u00e9t\u00e9s et VIP": [[106, "scans-repetes-et-vip"]], "Scheduled Flow": [[55, "scheduled-flow"]], "Sch\u00e9ma de contr\u00f4le de version": [[92, "schema-de-controle-de-version"]], "Security Considerations": [[22, "security-considerations"]], "Security/Vulnerability": [[44, "security-vulnerability"]], "Sender": [[9, "Sender"]], "Serial Example": [[7, "Serial-Example"]], "Server Admin: A Local Subscriber": [[71, "server-admin-a-local-subscriber"]], "Server-Side Resources Allocated for Subscribers": [[54, "server-side-resources-allocated-for-subscribers"]], "Server/Broker": [[22, "server-broker"]], "Server/Protocol Considerations": [[14, "server-protocol-considerations"]], "Serveur/courtier": [[104, "serveur-courtier"]], "Service Web SHC SOAP": [[81, "service-web-shc-soap"]], "Service Web de valeurs instantan\u00e9es USGS": [[81, "service-web-de-valeurs-instantanees-usgs"]], "Set the Version": [[3, "set-the-version"]], "Setting the Broker": [[20, "setting-the-broker"]], "Settings": [[38, "settings"]], "Setup": [[72, "setup"]], "Setup Flow Test Environment": [[3, "setup-flow-test-environment"]], "Shared Subscriptions": [[17, "shared-subscriptions"]], "Shim Library": [[28, "shim-library"]], "Shim Library Necessary": [[28, "shim-library-necessary"]], "Shim Usage Notes": [[23, "shim-usage-notes"], [117, "shim-usage-notes"]], "Shim Usage Tips": [[63, "shim-usage-tips"]], "Ship of Theseus": [[19, "ship-of-theseus"]], "Si nous faisons des cksums par blocs, chemin \u00e0 partir de v00": [[95, "si-nous-faisons-des-cksums-par-blocs-chemin-a-partir-de-v00"]], "Simple/Scalable Peer Configurations for Nations": [[31, "simple-scalable-peer-configurations-for-nations"]], "Site web du projet": [[108, "site-web-du-projet"]], "So Sarracenia is Not a Parallel App!": [[7, "So-Sarracenia-is-Not-a-Parallel-App!"]], "Sondage avanc\u00e9 (Advanced Polling)": [[106, "sondage-avance-advanced-polling"]], "Sortie d\u2019Ex\u00e9cution": [[130, "Sortie-d\u2019Ex\u00e9cution"]], "Source": [[26, "source"], [70, "source"], [105, "source"], [134, "source"]], "Sources de donn\u00e9es": [[86, "sources-de-donnees"]], "Specific Consuming Requirements": [[20, "specific-consuming-requirements"]], "Speedup": [[7, "Speedup"]], "Sr3_Post": [[63, "sr3-post"], [127, "sr3-post"]], "Sr_Poll": [[45, "sr-poll"], [79, "sr-poll"]], "Sr_sender": [[45, "sr-sender"], [79, "sr-sender"]], "Sr_winnow": [[45, "sr-winnow"], [79, "sr-winnow"]], "Standalone": [[22, "standalone"]], "Standard (bas\u00e9 sur le chemin et contenu)": [[118, "standard-base-sur-le-chemin-et-contenu"]], "Standard (path and data oriented)": [[24, "standard-path-and-data-oriented"]], "Standards": [[64, "standards"], [128, "standards"]], "Startup": [[45, "startup"], [72, "startup"]], "State of the Code": [[19, "state-of-the-code"]], "Statelessness/Crawlable": [[31, "statelessness-crawlable"]], "Static Flow": [[3, "static-flow"], [92, "static-flow"]], "Storage/State": [[8, "Storage/State"]], "Store And Forward est souvent meilleur dans la pratique": [[112, "store-and-forward-est-souvent-meilleur-dans-la-pratique"]], "Store And Forward is Often Better in Practice": [[31, "store-and-forward-is-often-better-in-practice"]], "Structure des dossiers": [[91, "structure-des-dossiers"]], "Style Guide": [[4, "style-guide"]], "Style de Code": [[91, "style-de-code"]], "Subclassing Flow": [[48, "subclassing-flow"]], "Subscribe and Replicate 3": [[140, "subscribe-and-replicate-3"]], "Subscriber Guide": [[54, "subscriber-guide"]], "Subscribers": [[26, "subscribers"]], "Substitutions Compatible Sundew": [[126, "substitutions-compatible-sundew"]], "Summary": [[7, "Summary"], [19, "summary"], [28, "summary"], [44, "summary"]], "Sundew": [[26, "sundew"], [105, "sundew"]], "Sundew Algorithmic Design": [[12, "Sundew-Algorithmic-Design"]], "Sundew Compatible Substituions": [[62, "sundew-compatible-substituions"]], "Sundew Migration Guide": [[40, "sundew-migration-guide"]], "Sundew Routing cost:": [[12, "Sundew-Routing-cost:"]], "Sundew filter migration to sarracenia (PXATX)": [[39, "sundew-filter-migration-to-sarracenia-pxatx"]], "Sundew pull migration to sarracenia (PXATX)": [[41, "sundew-pull-migration-to-sarracenia-pxatx"]], "Sundew sender migration to sarracenia (PXATX)": [[42, "sundew-sender-migration-to-sarracenia-pxatx"]], "Support": [[45, "support"], [79, "support"]], "Suppression de Doublons": [[118, "suppression-de-doublons"]], "Suppression des doublons haute performance": [[87, "suppression-des-doublons-haute-performance"]], "Switching/Routing": [[22, "switching-routing"]], "System Startup and Shutdown": [[70, "system-startup-and-shutdown"]], "S\u00b4abonner et r\u00e9pliquer": [[139, "s-abonner-et-repliquer"]], "S\u00e9curit\u00e9/Vuln\u00e9rabilit\u00e9": [[120, "securite-vulnerabilite"]], "S\u00e9lection des fonctionnalit\u00e9s AMQP": [[89, "selection-des-fonctionnalites-amqp"]], "S\u2019assurer que les choses sont en place": [[79, "sassurer-que-les-choses-sont-en-place"]], "TESTING": [[41, "testing"]], "THANKS!": [[7, "THANKS!"]], "THE FIXED HEADERS": [[64, "the-fixed-headers"]], "TH\u00c8ME (TOPIC)": [[128, "theme-topic"]], "TLS": [[45, "tls"], [79, "tls"]], "TODO": [[19, "todo"], [99, "id1"]], "TOPIC": [[64, "topic"]], "TRAITEMENT P\u00c9RIODIQUE": [[106, "traitement-periodique"]], "TYPES D\u2019OPTIONS": [[126, "types-d-options"]], "Table 1: The Algorithm for All Components": [[21, "id1"]], "Table 2: How Each Component Uses the Flow Algorithm": [[21, "id2"]], "Table of v2 and sr3 Equivalents": [[55, "table-of-v2-and-sr3-equivalents"], [88, "table-of-v2-and-sr3-equivalents"]], "Tableau 1 : Algorithme pour tous les composants": [[103, "id1"]], "Tableau 2 : Utilisation de l\u2019algorithme de flux par chaque composant": [[103, "id2"]], "Tableau de Inflight": [[102, "tableau-de-inflight"]], "Tableau de strat\u00e9gie de d\u00e9tection de fichiers": [[117, "tableau-de-strategie-de-detection-de-fichiers"]], "Test": [[94, "test"]], "Testing": [[18, "testing"]], "Thanks!": [[8, "Thanks!"]], "The Algorithmic Cost to Route 1 File": [[11, "The-Algorithmic-Cost-to-Route-1-File"]], "The Flow Algorithm": [[21, "the-flow-algorithm"], [38, "the-flow-algorithm"]], "The Simplest Flow_Callback": [[38, "the-simplest-flow-callback"], [116, "the-simplest-flow-callback"]], "ToDo": [[99, "todo"]], "Too slow, Queue Too Large": [[54, "too-slow-queue-too-large"]], "Tools you Need": [[3, "tools-you-need"]], "Topic-based Exchanges": [[0, "topic-based-exchanges"]], "Traduction de terminologie": [[121, "traduction-de-terminologie"]], "Traitement": [[91, "traitement"]], "Traitement IP virtuel dans le poll": [[88, "traitement-ip-virtuel-dans-le-poll"]], "Traitement de renommage": [[127, "traitement-de-renommage"]], "Traitement p\u00e9riodique/T\u00e2ches Cron": [[134, "traitement-periodique-taches-cron"]], "Transfer": [[20, "transfer"], [106, "transfer"]], "Transferts sans Donn\u00e9es (Dataless Transfers)": [[105, "transferts-sans-donnees-dataless-transfers"]], "Transition": [[19, "transition"], [99, "transition"]], "Transport Engines": [[22, "transport-engines"]], "Travailler avec des plugins": [[116, "travailler-avec-des-plugins"]], "Trucs d\u2019utilisation de shim": [[127, "trucs-d-utilisation-de-shim"]], "Tutorials": [[4, "tutorials"], [74, "tutorials"]], "Tutoriel": [[138, "tutoriel"]], "Tutoriels": [[91, "tutoriels"]], "T\u00e9l\u00e9chargement": [[83, "telechargement"]], "T\u00e9l\u00e9chargement en utilisant la console": [[129, "T\u00e9l\u00e9chargement-en-utilisant-la-console"]], "T\u00e9l\u00e9charger des donn\u00e9es avec Python": [[132, "T\u00e9l\u00e9charger-des-donn\u00e9es-avec-Python"]], "UPGRADE GUIDE": [[50, "upgrade-guide"]], "URP": [[24, "urp"], [118, "urp"]], "USGS Instantaneous Values Web Service": [[49, "usgs-instantaneous-values-web-service"]], "UTILISATION DE LA LIBRAIRIE SHIM": [[127, "utilisation-de-la-librairie-shim"]], "Ubuntu 18.04": [[3, "ubuntu-18-04"], [92, "ubuntu-18-04"]], "Ubuntu/Debian (apt/dpkg) Recommand\u00e9": [[134, "ubuntu-debian-apt-dpkg-recommande"]], "Ubuntu/Debian (apt/dpkg) Recommended": [[70, "ubuntu-debian-apt-dpkg-recommended"]], "Un Autre Exemple": [[128, "un-autre-exemple"]], "Un premier exemple utilisant l\u2019API Sarracenia Moth": [[132, "Un-premier-exemple-utilisant-l\u2019API-Sarracenia-Moth"]], "Unit": [[3, "unit"], [92, "unit"]], "Universal Write Scaling": [[8, "Universal-Write-Scaling"]], "Updating The sf.net Website": [[27, "updating-the-sf-net-website"]], "Use Case": [[47, "use-case"], [49, "use-case"]], "Use Folders/Directories": [[11, "Use-Folders/Directories"]], "Use Instances": [[54, "use-instances"]], "Use of AMQP on DD (DDI, DD.BETA)": [[46, "use-of-amqp-on-dd-ddi-dd-beta"]], "User Headers": [[53, "user-headers"]], "Users and Roles": [[21, "users-and-roles"]], "Using AMQP with URP, BUNNY, PDS-OP": [[46, "using-amqp-with-urp-bunny-pds-op"]], "Using An Open Reference Stack": [[31, "using-an-open-reference-stack"]], "Using Credentials in Plugins": [[38, "using-credentials-in-plugins"]], "Using Plugins to Grab Hydrometric Data (v2)": [[49, "using-plugins-to-grab-hydrometric-data-v2"]], "Utilisateurs et r\u00f4les": [[103, "utilisateurs-et-roles"]], "Utilisation de l\u2019AMQP sur DD (DDI, DD.BETA)": [[78, "utilisation-de-lamqp-sur-dd-ddi-dd-beta"]], "Utilisation de plugins pour r\u00e9cup\u00e9rer des donn\u00e9es hydrom\u00e9triques": [[81, "utilisation-de-plugins-pour-recuperer-des-donnees-hydrometriques"]], "Utilisation de plusieurs configurations": [[87, "utilisation-de-plusieurs-configurations"]], "Utilisation des Identifiants dans les Plugins": [[116, "utilisation-des-identifiants-dans-les-plugins"]], "Utilisation d\u2019AMQP avec URP, BUNNY, PDS-OP": [[78, "utilisation-damqp-avec-urp-bunny-pds-op"]], "Utilisation d\u2019une pile (stack)de r\u00e9f\u00e9rence ouverte": [[112, "utilisation-d-une-pile-stack-de-reference-ouverte"]], "Utiliser des instances": [[87, "utiliser-des-instances"]], "Utilitaires install\u00e9s sur les serveurs DD": [[78, "utilitaires-installes-sur-les-serveurs-dd"]], "Utilities installed on DD servers": [[46, "utilities-installed-on-dd-servers"]], "V02 Plugin Pain Points": [[19, "v02-plugin-pain-points"]], "V02 Plugin Points douloureux": [[99, "v02-plugin-points-douloureux"]], "V2 to Sr3": [[50, "v2-to-sr3"], [84, "v2-to-sr3"]], "VARIABLES D\u2019ENVIRONMENT": [[97, "variables-d-environment"]], "VARIABLES ENVIRONNEMENTALES": [[124, "variables-environnementales"], [127, "variables-environnementales"]], "VOIR AUSSI": [[97, "voir-aussi"], [123, "voir-aussi"], [124, "voir-aussi"], [125, "voir-aussi"], [128, "voir-aussi"]], "Validation des entr\u00e9es": [[104, "validation-des-entrees"]], "Variables": [[62, "variables"], [126, "variables"]], "Verification / Troubleshooting": [[46, "verification-troubleshooting"]], "Version 3 Refactor": [[19, "version-3-refactor"]], "Versioning Scheme": [[3, "versioning-scheme"]], "Viewing all Settings": [[38, "viewing-all-settings"]], "Virtual IP processing in poll": [[55, "virtual-ip-processing-in-poll"]], "Voir aussi": [[127, "voir-aussi"]], "Voting Failure Modes": [[8, "Voting-Failure-Modes"]], "V\u00e9rification / D\u00e9pannage": [[78, "verification-depannage"]], "WATCH": [[20, "watch"], [106, "watch"]], "WINNOW": [[20, "winnow"], [106, "winnow"]], "WMO": [[26, "wmo"], [105, "wmo"]], "Weather Application Flows": [[29, "weather-application-flows"]], "Weatheroffice citypages": [[24, "weatheroffice-citypages"]], "Web Proxies": [[54, "web-proxies"]], "Web Sites with non-standard file listings": [[48, "web-sites-with-non-standard-file-listings"]], "WebUI": [[45, "webui"], [79, "webui"]], "What If Each Notification is for a Block, not a File ?": [[14, "what-if-each-notification-is-for-a-block-not-a-file"]], "What Will Work Without Change": [[55, "what-will-work-without-change"]], "What Won\u2019t Work Without Change": [[55, "what-won-t-work-without-change"]], "What difference did it make?": [[12, "What-difference-did-it-make?"]], "What is Amdahl\u2019s Law?": [[7, "What-is-Amdahl\u2019s-Law?"]], "What is Going On?": [[45, "what-is-going-on"]], "When to Report": [[3, "when-to-report"]], "Where does AMQP Come From?": [[0, "where-does-amqp-come-from"]], "Where to Put Options": [[3, "where-to-put-options"]], "Why No FTP?": [[37, "why-no-ftp"]], "Why Not Just Use Rsync?": [[37, "why-not-just-use-rsync"]], "Why SFTP is More Often Chosen than FTPS": [[44, "why-sftp-is-more-often-chosen-than-ftps"]], "Why Use AMQP?": [[0, "why-use-amqp"]], "Why rST?": [[4, "why-rst"], [91, "why-rst"]], "Why v3 API should be used whenever possible": [[38, "why-v3-api-should-be-used-whenever-possible"]], "Windows": [[3, "windows"], [70, "windows"], [92, "windows"], [134, "windows"]], "Windows user manual": [[73, "windows-user-manual"]], "Winnowed Dataless": [[22, "winnowed-dataless"]], "With AMQP Notices on a Standard File Server": [[31, "with-amqp-notices-on-a-standard-file-server"]], "Working with Multiple Configurations": [[54, "working-with-multiple-configurations"]], "Working with Plugins": [[38, "working-with-plugins"]], "Worklists": [[38, "worklists"], [48, "worklists"], [66, "Worklists"], [82, "worklists"]], "Worries Addressed": [[19, "worries-addressed"]], "Write it in Python": [[12, "Write-it-in-Python"], [12, "id3"]], "Writing FlowCallback Plugins": [[48, "writing-flowcallback-plugins"]], "Writing Your Own Callbacks": [[66, "Writing-Your-Own-Callbacks"]], "Yes, Exactly.": [[7, "Yes,-Exactly."]], "[ queue|queue_name|qn ]": [[20, "queue-queue-name-qn-name"], [106, "queue-queue-name-qn-name"]], "[-pbd|\u2013post_baseDir ] (facultatif)": [[106, "pbd-post-basedir-path-facultatif"]], "[-pbd|\u2013post_baseDir ] (optional)": [[20, "pbd-post-basedir-path-optional"]], "[\u2013blocksize ] (default: 0 (auto))": [[20, "blocksize-value-default-0-auto"], [106, "blocksize-value-default-0-auto"]], "accelThreshold default: 0 (disabled.)": [[62, "accelthreshold-size-default-0-disabled"]], "accelTreshold d\u00e9faut: 0 (d\u00e9sactiver.)": [[126, "acceltreshold-size-defaut-0-desactiver"]], "accelXxxCommand": [[62, "accelxxxcommand"], [126, "accelxxxcommand"]], "accept, reject and acceptUnmatched": [[62, "accept-reject-and-acceptunmatched"]], "accept, reject and accept_unmatch": [[20, "accept-reject-and-accept-unmatch"], [106, "accept-reject-and-accept-unmatch"]], "accept, reject et acceptUnmatched": [[126, "accept-reject-et-acceptunmatched"]], "acceptSizeWrong: (default: False)": [[62, "acceptsizewrong-boolean-default-false"]], "acceptSizeWrong: (d\u00e9faut: False)": [[126, "acceptsizewrong-booleen-defaut-false"]], "acquisition HPC": [[110, "acquisition-hpc"]], "atime,mtime,mode": [[64, "atime-mtime-mode"], [128, "atime-mtime-mode"]], "attempts (default: 3)": [[62, "attempts-count-default-3"]], "attempts (d\u00e9faut: 3)": [[126, "attempts-count-defaut-3"]], "baseDir (d\u00e9faut: /)": [[126, "basedir-chemin-defaut"]], "baseDir (default: /)": [[62, "basedir-path-default"]], "baseUrl_relPath (default: off)": [[62, "baseurl-relpath-flag-default-off"]], "baseUrl_relPath (d\u00e9faut: off)": [[126, "baseurl-relpath-flag-defaut-off"]], "batch (default: 100)": [[62, "batch-count-default-100"]], "batch (d\u00e9faut: 100)": [[126, "batch-count-defaut-100"]], "blocksize default: 0 (auto)": [[62, "blocksize-size-default-0-auto"]], "blocksize d\u00e9faut: 0 (auto)": [[126, "blocksize-size-defaut-0-auto"]], "blocksize ": [[63, "blocksize-value"], [127, "blocksize-value"]], "broker": [[62, "broker"]], "bufsize (default: 1MB)": [[62, "bufsize-size-default-1mb"]], "bufsize (d\u00e9faut: 1m)": [[126, "bufsize-size-defaut-1m"]], "byteRateMax (default: 0)": [[62, "byteratemax-size-default-0"]], "byteRateMax (d\u00e9faut: 0)": [[126, "byteratemax-size-defaut-0"]], "callback ": [[126, "callback-speficationdeclass"]], "callback ": [[62, "callback-classspec"]], "callback options": [[20, "callback-options"]], "callback_prepend ": [[126, "callback-prepend-specificationdeclass"]], "callback_prepend ": [[62, "callback-prepend-classspec"]], "cas d\u00b4usage": [[118, "cas-d-usage"]], "cfg.batch": [[67, "cfg.batch"], [131, "cfg.batch"]], "cfg.download": [[67, "cfg.download"], [131, "cfg.download"]], "cfg.masks": [[67, "cfg.masks"], [131, "cfg.masks"]], "cfg.messageCountMax": [[67, "cfg.messageCountMax"], [131, "cfg.messageCountMax"]], "cfg.no, cfg.pid_filename": [[67, "cfg.no,-cfg.pid_filename"], [131, "cfg.no,-cfg.pid_filename"]], "convert": [[20, "convert"], [106, "convert"]], "dangerWillRobinson (default: omis)": [[126, "dangerwillrobinson-default-omis"]], "dangerWillRobinson (default: omitted)": [[62, "dangerwillrobinson-default-omitted"]], "dd_subscribe Renaming": [[27, "dd-subscribe-renaming"]], "debug": [[62, "debug"], [126, "debug"]], "declare": [[20, "declare"], [62, "declare"], [106, "declare"], [126, "declare"]], "delete (default: off)": [[62, "delete-boolean-default-off"]], "delete (d\u00e9faut: off)": [[126, "delete-booleen-defaut-off"]], "destfn_script