MySQL 26.7.0
Source Code Documentation
ireader_event.h
Go to the documentation of this file.
1// Copyright (c) 2026, 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_CSA_RELAY_LOG_IREADER_EVENT_H
25#define MYSQL_CSA_RELAY_LOG_IREADER_EVENT_H
26
27#include <memory>
28#include "sql/log_event.h" // Log_event
29
30namespace mysql::csa {
31
32class IReader_event;
33using IReader_event_ptr = std::shared_ptr<IReader_event>;
34
35/// @brief Interface for abstract event data returned by the reader,
36/// which can be decoded into a log event using the "decode" function
37/// @see Reader_event_controller_read_type
39 public:
40 /// @brief Decode function, which obtains Log event smart pointer
41 /// @return Log event smart pointer
42 virtual std::shared_ptr<Log_event> decode() = 0;
43 virtual ~IReader_event() = default;
44 /// @brief Resets event state
45 virtual void reset(const Format_description_log_event *) = 0;
46};
47
48} // namespace mysql::csa
49
50#endif // MYSQL_CSA_RELAY_LOG_IREADER_EVENT_H
For binlog version 4.
Definition: log_event.h:1558
Interface for abstract event data returned by the reader, which can be decoded into a log event using...
Definition: ireader_event.h:38
virtual void reset(const Format_description_log_event *)=0
Resets event state.
virtual ~IReader_event()=default
virtual std::shared_ptr< Log_event > decode()=0
Decode function, which obtains Log event smart pointer.
Binary log event definitions.
Definition: channel.cpp:28
std::shared_ptr< IReader_event > IReader_event_ptr
Definition: ireader_event.h:33