_site/cover/msc_config.COVER.html

1 %% Copyright (c) 2023 Peter Morgan <peter.james.morgan@gmail.com>
2 %%
3 %% Licensed under the Apache License, Version 2.0 (the "License");
4 %% you may not use this file except in compliance with the License.
5 %% You may obtain a copy of the License at
6 %%
7 %% http://www.apache.org/licenses/LICENSE-2.0
8 %%
9 %% Unless required by applicable law or agreed to in writing, software
10 %% distributed under the License is distributed on an "AS IS" BASIS,
11 %% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 %% See the License for the specific language governing permissions and
13 %% limitations under the License.
14
15
16 -module(msc_config).
17
18
19 -export([backoff/1]).
20 -export([client_flag/1]).
21 -export([timeout/1]).
22 -export([maximum/1]).
23 -export([telemetry/1]).
24 -import(envy, [envy/1]).
25
26
27 client_flag(ssl = Name) ->
28 2 envy(#{caller => ?MODULE,
29 names => [?FUNCTION_NAME, Name],
30 default => true});
31
32 client_flag(mfa = Name) ->
33 2 envy(#{caller => ?MODULE,
34 names => [?FUNCTION_NAME, Name],
35 default => true});
36
37 client_flag(remember_options = Name) ->
38 2 envy(#{caller => ?MODULE,
39 names => [?FUNCTION_NAME, Name],
40 default => true});
41
42 client_flag(query_attributes = Name) ->
43 2 envy(#{caller => ?MODULE,
44 names => [?FUNCTION_NAME, Name],
45 default => true});
46
47 client_flag(deprecate_eof = Name) ->
48 2 envy(#{caller => ?MODULE,
49 names => [?FUNCTION_NAME, Name],
50 default => true});
51
52 client_flag(session_track = Name) ->
53 2 envy(#{caller => ?MODULE,
54 names => [?FUNCTION_NAME, Name],
55 default => true});
56
57 client_flag(plugin_auth_lenenc_client_data = Name) ->
58 2 envy(#{caller => ?MODULE,
59 names => [?FUNCTION_NAME, Name],
60 default => true});
61
62 client_flag(connect_attrs = Name) ->
63 2 envy(#{caller => ?MODULE,
64 names => [?FUNCTION_NAME, Name],
65 default => true});
66
67 client_flag(plugin_auth = Name) ->
68 2 envy(#{caller => ?MODULE,
69 names => [?FUNCTION_NAME, Name],
70 default => true});
71
72 client_flag(transactions = Name) ->
73 2 envy(#{caller => ?MODULE,
74 names => [?FUNCTION_NAME, Name],
75 default => true});
76
77 client_flag(protocol_41 = Name) ->
78 2 envy(#{caller => ?MODULE,
79 names => [?FUNCTION_NAME, Name],
80 default => true});
81
82 client_flag(local_files = Name) ->
83 2 envy(#{caller => ?MODULE,
84 names => [?FUNCTION_NAME, Name],
85 default => true});
86
87 client_flag(long_flag = Name) ->
88 2 envy(#{caller => ?MODULE,
89 names => [?FUNCTION_NAME, Name],
90 default => true});
91
92 client_flag(long_password = Name) ->
93 2 envy(#{caller => ?MODULE,
94 names => [?FUNCTION_NAME, Name],
95 default => true});
96
97 client_flag(reserved2 = Name) ->
98 2 envy(#{caller => ?MODULE,
99 names => [?FUNCTION_NAME, Name],
100 default => true});
101
102 client_flag(connect_with_db = Name) ->
103 2 envy(#{caller => ?MODULE,
104 names => [?FUNCTION_NAME, Name],
105 default => true});
106
107 client_flag(Name) ->
108 30 envy(#{caller => ?MODULE,
109 names => [?FUNCTION_NAME, Name],
110 default => false}).
111
112 maximum(packet_size = Name) ->
113 4 envy(#{caller => ?MODULE,
114 names => [?FUNCTION_NAME, Name],
115 default => 16_777_216}).
116
117
118 backoff(rand_increment = Name) ->
119
:-(
envy(#{caller => ?MODULE,
120 names => [?FUNCTION_NAME, Name],
121 default => 1}).
122
123
124 timeout(connect = Name) ->
125 4 envy(#{caller => ?MODULE,
126 names => [Name, ?FUNCTION_NAME],
127 default => timer:seconds(5)});
128
129 timeout(Name) ->
130
:-(
envy(#{caller => ?MODULE,
131 names => [Name, ?FUNCTION_NAME],
132 default => infinity}).
133
134
135 telemetry(Name) when Name == module; Name == function ->
136 1 envy(#{caller => ?MODULE,
137 type => atom,
138 names =>[?FUNCTION_NAME, Name]});
139
140 telemetry(event_names = Name) ->
141
:-(
envy(#{caller => ?MODULE,
142 names => [?FUNCTION_NAME, Name],
143 default => filename:join(msc:priv_dir(), "telemetry.terms")});
144
145 telemetry(config = Name) ->
146
:-(
envy:get_env(msc,
147 msc_util:snake_case([?FUNCTION_NAME, Name]),
148 [app_env, {default, []}]).
Line Hits Source