1 /*
2 * Copyright 2021 The Netty Project
3 *
4 * The Netty Project licenses this file to you under the Apache License,
5 * version 2.0 (the "License"); you may not use this file except in compliance
6 * with the License. You may obtain a copy of the License at:
7 *
8 * https://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 * License for the specific language governing permissions and limitations
14 * under the License.
15 */
16 package io.netty.handler.codec.quic;
17
18 import java.util.Objects;
19
20 /**
21 * Configuration used for setup
22 * <a href="https://quiclog.github.io/internet-drafts/draft-marx-qlog-main-schema.html">qlog</a>.
23 */
24 public final class QLogConfiguration {
25
26 private final String path;
27 private final String logTitle;
28 private final String logDescription;
29
30 /**
31 * Create a new configuration.
32 *
33 * @param path the path to the log file to use. This file must not exist yet. If the path is a
34 * directory the filename will be generated
35 * @param logTitle the title to use when logging.
36 * @param logDescription the description to use when logging.
37 */
38 public QLogConfiguration(String path, String logTitle, String logDescription) {
39 this.path = Objects.requireNonNull(path, "path");
40 this.logTitle = Objects.requireNonNull(logTitle, "logTitle");
41 this.logDescription = Objects.requireNonNull(logDescription, "logDescription");
42 }
43
44 /**
45 * Return the path to the log file.
46 *
47 * @return the path.
48 */
49 public String path() {
50 return path;
51 }
52
53 /**
54 * Return the title.
55 *
56 * @return the title.
57 */
58 public String logTitle() {
59 return logTitle;
60 }
61
62 /**
63 * Return the description.
64 *
65 * @return the description.
66 */
67 public String logDescription() {
68 return logDescription;
69 }
70 }