Skip to content

Commit cdd7d7c

Browse files
committed
code: Introduce new API level
The level will activate packet-less API for data_sink-s and (maybe) a bit more. For now just introduce it without any real code changes. Signed-off-by: Pavel Emelyanov <xemul@scylladb.com>
1 parent 7469719 commit cdd7d7c

File tree

4 files changed

+7
-4
lines changed

4 files changed

+7
-4
lines changed

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,10 @@ option (Seastar_DEPRECATED_OSTREAM_FORMATTERS
7070
ON)
7171

7272
set (Seastar_API_LEVEL
73-
"8"
73+
"9"
7474
CACHE
7575
STRING
76-
"Seastar compatibility API level (7=unified CPU/IO scheduling groups, 8=noncopyable function in json_return_type")
76+
"Seastar compatibility API level (7=unified CPU/IO scheduling groups, 8=noncopyable function in json_return_type, 9=new sink API")
7777

7878
set_property (CACHE Seastar_API_LEVEL
7979
PROPERTY

configure.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ def standard_supported(standard, compiler='g++'):
7474
help='Extra flags for the linker')
7575
arg_parser.add_argument('--optflags', action='store', dest='user_optflags', default='',
7676
help='Extra optimization flags for the release mode')
77-
arg_parser.add_argument('--api-level', action='store', dest='api_level', default='8',
77+
arg_parser.add_argument('--api-level', action='store', dest='api_level', default='9',
7878
help='Compatibility API level (8=latest)')
7979
arg_parser.add_argument('--compiler', action='store', dest='cxx', default='g++',
8080
help='C++ compiler path')

doc/compatibility.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ versions of the API. For example.
7676
"while at it" file_impl API is forced to accept io_intent argument
7777
- Seastar_API_LEVEL=8 changes json_return_type to hold a noncopyable function
7878
and become a move-only type
79+
- Seastar_API_LEVEL=9 defines the data_sink_impl::put(span<temporary_buffer>)
80+
as the new and only method to be implemented
7981

8082
Applications can use an old API_LEVEL during a transition
8183
period, fix their code, and move to the new API_LEVEL.
@@ -117,6 +119,7 @@ API Level History
117119
| 6 | 2020-09 | 2023-03 | future<T> instead of future<T...> |
118120
| 7 | 2023-05 | 2024-09 | unified CPU/IO scheduling groups |
119121
| 8 | 2025-08 | | noncopyable function in json_return_type |
122+
| 9 | 2025-08 | | data_sink_impl new API |
120123

121124

122125
Note: The "mandatory" column indicates when backwards compatibility

include/seastar/core/internal/api-level.hh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
// For IDEs that don't see SEASTAR_API_LEVEL, generate a nice default
2525
#ifndef SEASTAR_API_LEVEL
26-
#define SEASTAR_API_LEVEL 8
26+
#define SEASTAR_API_LEVEL 9
2727
#endif
2828

2929
#if SEASTAR_API_LEVEL == 8

0 commit comments

Comments
 (0)