Re: [Taps] Early TAPS Implementation in Go, Feedback Welcome
Theresa Enghardt <ietf@tenghardt.net> Sat, 08 January 2022 03:01 UTC
Return-Path: <ietf@tenghardt.net>
X-Original-To: taps@ietfa.amsl.com
Delivered-To: taps@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 53F9B3A1602 for <taps@ietfa.amsl.com>; Fri, 7 Jan 2022 19:01:49 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.813
X-Spam-Level:
X-Spam-Status: No, score=-2.813 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-0.714, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=tenghardt.net
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oJRFPjcvYIiF for <taps@ietfa.amsl.com>; Fri, 7 Jan 2022 19:01:44 -0800 (PST)
Received: from mail.hemio.de (mail.hemio.de [136.243.12.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2912E3A1603 for <taps@ietf.org>; Fri, 7 Jan 2022 19:01:43 -0800 (PST)
Received: from user.client.invalid (localhost [136.243.12.180]) by mail.hemio.de (Postfix) with ESMTPSA id 3231AAA; Sat, 8 Jan 2022 04:01:39 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tenghardt.net; s=20170414; t=1641610900; bh=Oeoxp5ezwKi571TR8Wj36x/hRo0V4PiJSzKPgknI8lI=; h=Subject:To:References:Cc:From:Date:In-Reply-To:From; b=CIUIj7gKFilwJM8oTDcCoyqPq2LhNBdBgu50mKz1tDApWQ0sufDlllWj/5ZnyPVx3 snPXI5laGwEnkmWYs84NdXJM5KTBar59jc+AA6NJZ/pByQ2c8WUVShfsoYa+KX4e8K bcDUMOV1dJf/J4vyq+7mu+5Jwc05X1fZHTs830Hx56VuTJ2zL7lNc8I4QR4KUowaKU k/lwFbLx6IzRFrndHXAv8y61c4K5K9fVZagpwElXkxJYjAojkxeGAsG01KxRLdwMvg j1kTAC/jEpyIA+3bqyUQIWgAZj6F+8o+HV1A2+MUF32VQvfSjtzKCx7C4aJwG0hQAz VLJhGQNUkvwMQ==
To: Thorben Krüger <thorben.krueger@ovgu.de>
References: <87czl7k2rd.fsf@ovgu.de>
Cc: "taps@ietf.org" <taps@ietf.org>
From: Theresa Enghardt <ietf@tenghardt.net>
Message-ID: <c7542848-87cb-77d1-cd66-faf84b70da8c@tenghardt.net>
Date: Fri, 07 Jan 2022 19:01:36 -0800
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0
MIME-Version: 1.0
In-Reply-To: <87czl7k2rd.fsf@ovgu.de>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/taps/WM40zRU69JP9v0_Gdd3i24RVa7E>
Subject: Re: [Taps] Early TAPS Implementation in Go, Feedback Welcome
X-BeenThere: taps@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "IETF Transport Services \(TAPS\) Working Group" <taps.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/taps>, <mailto:taps-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/taps/>
List-Post: <mailto:taps@ietf.org>
List-Help: <mailto:taps-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/taps>, <mailto:taps-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 08 Jan 2022 03:01:49 -0000
Hi Thorben, Thank you for sharing your TAPS implementation, your feedback, and your questions with us! Please do feel free to open more issues on our Github regarding our drafts, especially if you have feedback on draft-ietf-taps-impl based on your implementation experience. With my chair hat on, I'm wondering if you'd be interesting in joining our next virtual interim meeting, planned for Wednesday January 26th at 16:00 UTC, and briefly present your implementation and most important questions/challenges? With my co-author hat on for the rest of this email, I found your "Notes on Implementation" [0] an interesting read, and I have some initial thoughts: On the first section, "Asynchronous, Event-driven Interaction Patterns": The TAPS documents strive to be independent of any language-specific considerations and I don't think that our use of "Event" as a basic term in the Interface draft implies the use of an actual Event system when mapping the abstract API into a concrete programming language. Appendix A. Implementation Mapping in the Interface document [1], says "Actions could be implemented as functions or method calls, for instance, and Events could be implemented via event queues, handler functions or classes, communicating sequential processes, or other asynchronous calling conventions" - I am wondering if this means that Events can also be implemented using a construct such as the one described in your notes. Perhaps it does, but I'm wondering if more needs to be said in the document. To the "Property/Parameter Access and Type Safety" section, I am wondering if this is covered by Section 5 in the Interface document, e.g., the last bullet point: "Implementations may use other representations for Transport Property Names, e.g., by providing constants, but should provide a straight-forward mapping between their representation and the property names specified here." - Wouldn't this cover struct fields, too? Regarding the last section, "Pre-Establishment", it sounds to me like this is an okay way to handle it. In my mind, "should have a list available" means there could simply be a piece of documentation listing the protocols which can be registered. Does "registering" each protocol with the core system mean that there can be different implementations for a given protocol, and/or that these can be dynamically added? If so, this could be related to the "TAPS Transport Discovery" idea [2] which Martin Duke brought to us last year. It is not clear yet whether the WG will work on such a discovery mechanism, but I'm still curious if the concepts are related. Of course, the above are just one co-author's thoughts, and I'm happy for the others to chime in as well. Best, Reese (formerly known as Theresa) [0] https://github.com/netsys-lab/panapi/blob/a982200736ffe81c1f1be750c8df27845442045d/doc/Implementation.md [1] https://www.ietf.org/archive/id/draft-ietf-taps-interface-14.html#name-implementation-mapping [2] https://datatracker.ietf.org/doc/draft-duke-taps-transport-discovery/
- [Taps] Early TAPS Implementation in Go, Feedback … Thorben Krüger
- Re: [Taps] Early TAPS Implementation in Go, Feedb… Mirja Kuehlewind
- Re: [Taps] Early TAPS Implementation in Go, Feedb… Thorben Krüger
- Re: [Taps] Early TAPS Implementation in Go, Feedb… Theresa Enghardt
- Re: [Taps] Early TAPS Implementation in Go, Feedb… Michael Welzl