Re: [Anima] Review comments on draft-ietf-anima-grasp-api

Brian E Carpenter <> Wed, 18 September 2019 20:38 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id A9477120112 for <>; Wed, 18 Sep 2019 13:38:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id hdb629L1GNlg for <>; Wed, 18 Sep 2019 13:38:38 -0700 (PDT)
Received: from ( [IPv6:2607:f8b0:4864:20::629]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 40E06120086 for <>; Wed, 18 Sep 2019 13:38:38 -0700 (PDT)
Received: by with SMTP id t10so497376plr.8 for <>; Wed, 18 Sep 2019 13:38:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=NgJrND3P/zwc17R5i7NN7ByN4O8d+yaQVaeC1GmtaUg=; b=g+c6fZA+8yhHGN4WrbBZvg96gn0uZVJ0A9Uaqzv2b95jCzi1GJWt4wVDUufUumqSOt HnxCRseqdaLw6TJGke8AetigmQTw+MQvT3dkS3052YglUQpVa3k++y4V9q8uKyq8nUlA 3X3R2IZ+QYIJe64OK1wcIP7j9DeCzY4O2Minhl96M1WO/wcFXHgp+tyKTliAehu6S0/k guBuejJZGhWZO0QX1izWT2vrj3rOb7NxZcB0E5vCXIXmjElrLS5WGf8uZsI9X8VgbNlT IRaK08waUffw0obQdJoP/2+D6enX5Eh7N17PNMJEq2g2VFYNZ3AuMhVXPpsq9X0FaA0q eHjw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=NgJrND3P/zwc17R5i7NN7ByN4O8d+yaQVaeC1GmtaUg=; b=BzDIlFht0HBnyhWADAD2d+Wcaul3ZDfmf+7Lu1wzfa0zTz7tK94WoWhBXMXqfD/GzE 3xPVlm2fAQxThKXiiEHi+myv6CeCu9oET8A+eLHFHD25rV17Xx5X+YgbDtKuMyfM0zyS mvESNWZdjqbnJ5z0h/oWVzmOYxEUOcWxqsxjw9uZZHIq1EZXXta0hkA25iGuDldFsKeG vreukirrf1wEZh7ionz11lkGxG+baDlMAM476Esl9xH28e2cahFMcLDaAoEstpfpW387 y5x58sdJMnRaF0OGjrUmHxYsGoClEm0aCs4RS4TvDhIuiLTyGCU392p5F33FDqZZrsWw ZBvw==
X-Gm-Message-State: APjAAAXzbrKfeVwD2cvpXljtmTvPMI7FAUmS71rZ/HXYFfB3rTj7MsHG FOyMW1f0EjaAQ4Cxgfuax9+A2ovt
X-Google-Smtp-Source: APXvYqx6EL3AGo5kT2TCNTqKfoo2g0OeIvOswnfJNlkWjl3Jn+ankBWBSNX9LlQ1xHumxOOFN2sjug==
X-Received: by 2002:a17:902:7d8b:: with SMTP id a11mr6178158plm.149.1568839117495; Wed, 18 Sep 2019 13:38:37 -0700 (PDT)
Received: from [] ( []) by with ESMTPSA id k4sm3133846pjl.9.2019. (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 18 Sep 2019 13:38:36 -0700 (PDT)
To: "Liguangpeng (Roc, Network Technology Laboratory)" <>, "" <>
References: <>
From: Brian E Carpenter <>
Message-ID: <>
Date: Thu, 19 Sep 2019 08:38:34 +1200
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0
MIME-Version: 1.0
In-Reply-To: <>
Content-Type: text/plain; charset="utf-8"
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
Archived-At: <>
Subject: Re: [Anima] Review comments on draft-ietf-anima-grasp-api
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Autonomic Networking Integrated Model and Approach <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 18 Sep 2019 20:38:40 -0000

On 18-Sep-19 18:22, Liguangpeng (Roc, Network Technology Laboratory) wrote:
> Hi authors,  
> I read the draft. I think the API list for grasp is complete and good. But I have some comments on section 2.2.
> 2.2. Asynchronous Operations
> '... there are two main techniques for such parallel operations: multi-threading, or a polling or 'event loop' structure.'  
> According to my knowledge, 'multi-threading' is a different thing with asynchronous programming mechanism. So I prefer to 'asynchronous programming mechanisms with multi-threading' here.

OK, will rephrase.

> The main techniques for asynchronous programming discussed in draft should be 'polling', however, polling is not so efficient. The more efficient one is 'call back' mechanism.

Yes, we certainly need to discuss callbacks. I'm not sure it is always more efficient, because that depends on the underlying implementation.

> 'session_nonce' parameter may be useful for polling, but 'call back function pointer( or reference in some programming language)' is normally used as parameter of invoked functions. All logics should be executed in call back functions which will be called when some events occur, for example receiving response message for the request, or message timeout.

Yes. However, if you have two simultaneous negotiations, you will still need the session_nonce in the callback, I believe.

Thanks very much,


> Best regards,
> Guangpeng Li