@@ -95,7 +95,7 @@ def from_json(json):
95
95
96
96
@dataclass
97
97
class NodeByRoleResolver :
98
- target : TargetRole = TargetRole ( role = NodeRole .primary )
98
+ target : TargetRole = field ( default_factory = lambda : NodeRole .primary )
99
99
kind : str = "NodeByRole"
100
100
101
101
@staticmethod
@@ -131,9 +131,9 @@ def from_json(json):
131
131
132
132
@dataclass
133
133
class RedirectionConfig :
134
- to_primary : RedirectionResolver = NodeByRoleResolver ()
135
- to_backup : RedirectionResolver = NodeByRoleResolver (
136
- target = TargetRole (role = NodeRole .backup )
134
+ to_primary : NodeByRoleResolver = field ( default_factory = lambda : NodeByRoleResolver () )
135
+ to_backup : NodeByRoleResolver = field (
136
+ default_factory = lambda : NodeByRoleResolver ( target = TargetRole (NodeRole .backup ) )
137
137
)
138
138
139
139
@staticmethod
@@ -167,27 +167,45 @@ def resolver_from_json(obj):
167
167
@dataclass
168
168
class RPCInterface (Interface ):
169
169
# How nodes are created (local, ssh, ...)
170
- protocol : str = "local"
170
+ protocol : str = field ( default_factory = lambda : "local" )
171
171
# Underlying transport layer protocol (tcp, udp)
172
- transport : str = "tcp"
172
+ transport : str = field ( default_factory = lambda : "tcp" )
173
173
# Host name/IP
174
174
public_host : Optional [str ] = None
175
175
# Host port
176
176
public_port : Optional [int ] = None
177
- max_open_sessions_soft : Optional [int ] = DEFAULT_MAX_OPEN_SESSIONS_SOFT
178
- max_open_sessions_hard : Optional [int ] = DEFAULT_MAX_OPEN_SESSIONS_HARD
179
- max_http_body_size : Optional [int ] = DEFAULT_MAX_HTTP_BODY_SIZE
180
- max_http_header_size : Optional [int ] = DEFAULT_MAX_HTTP_HEADER_SIZE
181
- max_http_headers_count : Optional [int ] = DEFAULT_MAX_HTTP_HEADERS_COUNT
182
- max_concurrent_streams_count : Optional [int ] = DEFAULT_MAX_CONCURRENT_STREAMS_COUNT
183
- initial_window_size : Optional [int ] = DEFAULT_INITIAL_WINDOW_SIZE
184
- max_frame_size : Optional [int ] = DEFAULT_MAX_FRAME_SIZE
185
- endorsement : Optional [Endorsement ] = Endorsement ()
177
+ max_open_sessions_soft : Optional [int ] = field (
178
+ default_factory = lambda : DEFAULT_MAX_OPEN_SESSIONS_SOFT
179
+ )
180
+ max_open_sessions_hard : Optional [int ] = field (
181
+ default_factory = lambda : DEFAULT_MAX_OPEN_SESSIONS_HARD
182
+ )
183
+ max_http_body_size : Optional [int ] = field (
184
+ default_factory = lambda : DEFAULT_MAX_HTTP_BODY_SIZE
185
+ )
186
+ max_http_header_size : Optional [int ] = field (
187
+ default_factory = lambda : DEFAULT_MAX_HTTP_HEADER_SIZE
188
+ )
189
+ max_http_headers_count : Optional [int ] = field (
190
+ default_factory = lambda : DEFAULT_MAX_HTTP_HEADERS_COUNT
191
+ )
192
+ max_concurrent_streams_count : Optional [int ] = field (
193
+ default_factory = lambda : DEFAULT_MAX_CONCURRENT_STREAMS_COUNT
194
+ )
195
+ initial_window_size : Optional [int ] = field (
196
+ default_factory = lambda : DEFAULT_INITIAL_WINDOW_SIZE
197
+ )
198
+ max_frame_size : Optional [int ] = field (
199
+ default_factory = lambda : DEFAULT_MAX_FRAME_SIZE
200
+ )
201
+ endorsement : Optional [Endorsement ] = field (default_factory = lambda : Endorsement ())
186
202
acme_configuration : Optional [str ] = None
187
203
accepted_endpoints : Optional [str ] = None
188
- forwarding_timeout_ms : Optional [int ] = DEFAULT_FORWARDING_TIMEOUT_MS
204
+ forwarding_timeout_ms : Optional [int ] = field (
205
+ default_factory = lambda : DEFAULT_FORWARDING_TIMEOUT_MS
206
+ )
189
207
redirections : Optional [RedirectionConfig ] = None
190
- app_protocol : str = "HTTP1"
208
+ app_protocol : str = field ( default_factory = lambda : "HTTP1" )
191
209
192
210
@staticmethod
193
211
def from_args (args ):
0 commit comments