Skip to content

Commit 9312fe9

Browse files
committed
Factor out ServeProto::BasicClientConnection::putBuildSettings
For Hydra.
1 parent 1822420 commit 9312fe9

File tree

3 files changed

+36
-14
lines changed

3 files changed

+36
-14
lines changed

src/libstore/legacy-ssh-store.cc

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -252,20 +252,14 @@ struct LegacySSHStore : public virtual LegacySSHStoreConfig, public virtual Stor
252252

253253
void putBuildSettings(Connection & conn)
254254
{
255-
conn.to
256-
<< settings.maxSilentTime
257-
<< settings.buildTimeout;
258-
if (GET_PROTOCOL_MINOR(conn.remoteVersion) >= 2)
259-
conn.to
260-
<< settings.maxLogSize;
261-
if (GET_PROTOCOL_MINOR(conn.remoteVersion) >= 3)
262-
conn.to
263-
<< 0 // buildRepeat hasn't worked for ages anyway
264-
<< 0;
265-
266-
if (GET_PROTOCOL_MINOR(conn.remoteVersion) >= 7) {
267-
conn.to << ((int) settings.keepFailed);
268-
}
255+
conn.putBuildSettings({
256+
.maxSilentTime = settings.maxSilentTime,
257+
.buildTimeout = settings.buildTimeout,
258+
.repeats = 0, // buildRepeat hasn't worked for ages anyway
259+
.maxLogSize = settings.maxLogSize,
260+
.enforceDeterminism = 0,
261+
.keepFailed = settings.keepFailed,
262+
});
269263
}
270264

271265
public:

src/libstore/serve-protocol-impl.cc

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,23 @@ StorePathSet ServeProto::BasicClientConnection::queryValidPaths(
1717
return Serialise<StorePathSet>::read(store, *this);
1818
}
1919

20+
void ServeProto::BasicClientConnection::putBuildSettings(
21+
const ServeProto::BasicClientConnection::BuildOptions & options)
22+
{
23+
to
24+
<< options.maxSilentTime
25+
<< options.buildTimeout;
26+
if (GET_PROTOCOL_MINOR(remoteVersion) >= 2)
27+
to
28+
<< options.maxLogSize;
29+
if (GET_PROTOCOL_MINOR(remoteVersion) >= 3)
30+
to
31+
<< options.repeats
32+
<< options.enforceDeterminism;
33+
34+
if (GET_PROTOCOL_MINOR(remoteVersion) >= 7) {
35+
to << ((int) options.keepFailed);
36+
}
37+
}
38+
2039
}

src/libstore/serve-protocol-impl.hh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,15 @@ struct ServeProto::BasicClientConnection
9999
const Store & remoteStore,
100100
bool lock, const StorePathSet & paths,
101101
SubstituteFlag maybeSubstitute);
102+
103+
struct BuildOptions {
104+
time_t maxSilentTime, buildTimeout;
105+
unsigned int repeats;
106+
size_t maxLogSize;
107+
bool enforceDeterminism, keepFailed;
108+
};
109+
110+
void putBuildSettings(const BuildOptions & options);
102111
};
103112

104113
}

0 commit comments

Comments
 (0)