[
https://issues.apache.org/jira/browse/TS-4518?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15348651#comment-15348651
]
ASF GitHub Bot commented on TS-4518:
------------------------------------
Github user jpeach commented on a diff in the pull request:
https://github.com/apache/trafficserver/pull/736#discussion_r68464023
--- Diff: lib/ts/ink_uuid.h ---
@@ -0,0 +1,122 @@
+/** @file
+ *
+ * Basic implementation of RFC 4122, see
+ * https://www.ietf.org/rfc/rfc4122.txt
+ *
+ * @section license License
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include "ts/apidefs.h"
+#include "ts/ink_memory.h"
+
+// This is the C++ portions of things, which will need to get wrapped in
C-helper APIs.
+class ATSUuid
+{
+public:
+ // Constructors
+ ATSUuid() : _version(TS_UUID_UNDEFINED), _alive(true) {}
+ ~ATSUuid() { _alive = false; }
+ ATSUuid &operator=(const ATSUuid other);
+
+ // Initialize the UUID from a string
+ bool parseString(const char *str);
+ // Initialize a UUID using appropriate logic for the version specified.
This can be done multiple times.
+ void initialize(TSUuidVersion v);
+
+ // This returns the internal string representation of the UUID, do not
mess with this string. There is
+ // no transfer of ownership here. See toString() if you wish to make a
copy.
+ const char *
+ getString() const
+ {
+ return valid() ? _string : NULL;
+ }
+
+ // Copy the UUID string to a buffer of sufficient size (be careful)
+ bool toString(char *buf);
--- End diff --
Actually, do you really need this to be public? Callers can just use
``getString()``?
> UUID and HttpSM ID APIs and Machine support for a process UUID
> --------------------------------------------------------------
>
> Key: TS-4518
> URL: https://issues.apache.org/jira/browse/TS-4518
> Project: Traffic Server
> Issue Type: New Feature
> Components: Core, TS API
> Reporter: Leif Hedstrom
> Assignee: Leif Hedstrom
> Fix For: 7.0.0
>
>
> As was discussed on https://github.com/apache/trafficserver/pull/199, I've
> started the work to generalize this, and breaking it up in various parts.
> This first Jira is about adding four things:
> 1) An internal process UUID, which goes into Machine. It's accessible from
> the core.
> 2) An API to get this Machine UUID.
> 3) A set of generic UUID APIs, to do things like stringification, Copy() etc.
> 4) A very simple API that exposes the HttpSM's sequences number (sm_id).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)