MySQL 9.6.0
Source Code Documentation
mysql_gcs_timestamp_provider.h
Go to the documentation of this file.
1/* Copyright (c) 2025, Oracle and/or its affiliates.
2
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License, version 2.0,
5 as published by the Free Software Foundation.
6
7 This program is designed to work with certain software (including
8 but not limited to OpenSSL) that is licensed under separate terms,
9 as designated in a particular file or component or in included license
10 documentation. The authors of MySQL hereby grant you an additional
11 permission to link the program and your derivative works with the
12 separately licensed software that they have either included with
13 the program or referenced in the documentation.
14
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License, version 2.0, for more details.
19
20 You should have received a copy of the GNU General Public License
21 along with this program; if not, write to the Free Software
22 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
23
24#ifndef MYSQL_GCS_TIMESTAMP_PROVIDER_INCLUDED
25#define MYSQL_GCS_TIMESTAMP_PROVIDER_INCLUDED
26
28
30 public:
32 ~Gr_clock_timestamp_provider() override = default;
33 // non-copyable
35 delete;
37 const Gr_clock_timestamp_provider &other) = delete;
38 // non-movable
41 delete;
42
43 enum_gcs_error initialize() override { return GCS_OK; }
44 enum_gcs_error finalize() override { return GCS_OK; }
45
46 void get_timestamp_as_c_string(char *buffer, size_t *size) override;
47 void get_timestamp_as_string(std::string &str) override;
48};
49
50#endif /* MYSQL_GCS_TIMESTAMP_PROVIDER_INCLUDED */
This is the interface for the timestamp provider for entries that end up in the Debugger log.
Definition: gcs_logging.h:73
Definition: mysql_gcs_timestamp_provider.h:29
Gr_clock_timestamp_provider & operator=(Gr_clock_timestamp_provider &&other)=delete
Gr_clock_timestamp_provider & operator=(const Gr_clock_timestamp_provider &other)=delete
~Gr_clock_timestamp_provider() override=default
void get_timestamp_as_c_string(char *buffer, size_t *size) override
Get the timestamp as c string object.
Definition: mysql_gcs_timestamp_provider.cc:30
enum_gcs_error finalize() override
The purpose of this method is to free any resources used by the objects that implement this interface...
Definition: mysql_gcs_timestamp_provider.h:44
Gr_clock_timestamp_provider(const Gr_clock_timestamp_provider &other)=delete
void get_timestamp_as_string(std::string &str) override
Get the timestamp as std::string.
Definition: mysql_gcs_timestamp_provider.cc:35
enum_gcs_error initialize() override
The purpose of this method is to initialize resources used by the objects that implement this interfa...
Definition: mysql_gcs_timestamp_provider.h:43
Gr_clock_timestamp_provider(Gr_clock_timestamp_provider &&other)=delete
enum_gcs_error
This enumeration describes errors which can occur during group communication operations.
Definition: gcs_types.h:41
@ GCS_OK
Definition: gcs_types.h:43
std::string str(const mysqlrouter::ConfigGenerator::Options::Endpoint &ep)
Definition: config_generator.cc:1077
size_t size(const char *const c)
Definition: base64.h:46
mutable_buffer buffer(void *p, size_t n) noexcept
Definition: buffer.h:418