feat(pb): add copyOutTruncate to allow truncate when exceed size limit

This commit is contained in:
criyle 2025-10-06 20:14:08 +00:00
parent b6e4b77232
commit 8bb802f7d6
10 changed files with 63 additions and 45 deletions

View File

@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.6
// protoc v6.31.1
// protoc-gen-go v1.36.10
// protoc v6.32.1
// source: file.proto
package pb

View File

@ -1,15 +1,15 @@
module github.com/criyle/go-judge/pb
go 1.23.0
go 1.24.0
require (
google.golang.org/grpc v1.74.2
google.golang.org/protobuf v1.36.7
google.golang.org/grpc v1.75.1
google.golang.org/protobuf v1.36.10
)
require (
golang.org/x/net v0.43.0 // indirect
golang.org/x/sys v0.35.0 // indirect
golang.org/x/text v0.28.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250811230008-5f3141c8851a // indirect
golang.org/x/net v0.44.0 // indirect
golang.org/x/sys v0.36.0 // indirect
golang.org/x/text v0.29.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20251006185510-65f7160b3a87 // indirect
)

View File

@ -10,25 +10,27 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
go.opentelemetry.io/otel v1.36.0 h1:UumtzIklRBY6cI/lllNZlALOF5nNIzJVb16APdvgTXg=
go.opentelemetry.io/otel v1.36.0/go.mod h1:/TcFMXYjyRNh8khOAO9ybYkqaDBb/70aVwkNML4pP8E=
go.opentelemetry.io/otel/metric v1.36.0 h1:MoWPKVhQvJ+eeXWHFBOPoBOi20jh6Iq2CcCREuTYufE=
go.opentelemetry.io/otel/metric v1.36.0/go.mod h1:zC7Ks+yeyJt4xig9DEw9kuUFe5C3zLbVjV2PzT6qzbs=
go.opentelemetry.io/otel/sdk v1.36.0 h1:b6SYIuLRs88ztox4EyrvRti80uXIFy+Sqzoh9kFULbs=
go.opentelemetry.io/otel/sdk v1.36.0/go.mod h1:+lC+mTgD+MUWfjJubi2vvXWcVxyr9rmlshZni72pXeY=
go.opentelemetry.io/otel/sdk/metric v1.36.0 h1:r0ntwwGosWGaa0CrSt8cuNuTcccMXERFwHX4dThiPis=
go.opentelemetry.io/otel/sdk/metric v1.36.0/go.mod h1:qTNOhFDfKRwX0yXOqJYegL5WRaW376QbB7P4Pb0qva4=
go.opentelemetry.io/otel/trace v1.36.0 h1:ahxWNuqZjpdiFAyrIoQ4GIiAIhxAunQR6MUoKrsNd4w=
go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA=
golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE=
golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg=
golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI=
golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng=
golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250811230008-5f3141c8851a h1:tPE/Kp+x9dMSwUm/uM0JKK0IfdiJkwAbSMSeZBXXJXc=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250811230008-5f3141c8851a/go.mod h1:gw1tLEfykwDz2ET4a12jcXt4couGAm7IwsVaTy0Sflo=
google.golang.org/grpc v1.74.2 h1:WoosgB65DlWVC9FqI82dGsZhWFNBSLjQ84bjROOpMu4=
google.golang.org/grpc v1.74.2/go.mod h1:CtQ+BGjaAIXHs/5YS3i473GqwBBa1zGQNevxdeBEXrM=
google.golang.org/protobuf v1.36.7 h1:IgrO7UwFQGJdRNXH/sQux4R1Dj1WAKcLElzeeRaXV2A=
google.golang.org/protobuf v1.36.7/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
go.opentelemetry.io/otel v1.37.0 h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ=
go.opentelemetry.io/otel v1.37.0/go.mod h1:ehE/umFRLnuLa/vSccNq9oS1ErUlkkK71gMcN34UG8I=
go.opentelemetry.io/otel/metric v1.37.0 h1:mvwbQS5m0tbmqML4NqK+e3aDiO02vsf/WgbsdpcPoZE=
go.opentelemetry.io/otel/metric v1.37.0/go.mod h1:04wGrZurHYKOc+RKeye86GwKiTb9FKm1WHtO+4EVr2E=
go.opentelemetry.io/otel/sdk v1.37.0 h1:ItB0QUqnjesGRvNcmAcU0LyvkVyGJ2xftD29bWdDvKI=
go.opentelemetry.io/otel/sdk v1.37.0/go.mod h1:VredYzxUvuo2q3WRcDnKDjbdvmO0sCzOvVAiY+yUkAg=
go.opentelemetry.io/otel/sdk/metric v1.37.0 h1:90lI228XrB9jCMuSdA0673aubgRobVZFhbjxHHspCPc=
go.opentelemetry.io/otel/sdk/metric v1.37.0/go.mod h1:cNen4ZWfiD37l5NhS+Keb5RXVWZWpRE+9WyVCpbo5ps=
go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4=
go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0=
golang.org/x/net v0.44.0 h1:evd8IRDyfNBMBTTY5XRF1vaZlD+EmWx6x8PkhR04H/I=
golang.org/x/net v0.44.0/go.mod h1:ECOoLqd5U3Lhyeyo/QDCEVQ4sNgYsqvCZ722XogGieY=
golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k=
golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk=
golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4=
gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk=
gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E=
google.golang.org/genproto/googleapis/rpc v0.0.0-20251006185510-65f7160b3a87 h1:WgGZrMngVRRve7T3P5gbXdmedSmUpkf8uIUu1fg+biY=
google.golang.org/genproto/googleapis/rpc v0.0.0-20251006185510-65f7160b3a87/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk=
google.golang.org/grpc v1.75.1 h1:/ODCNEuf9VghjgO3rqLcfg8fiOP0nSluljWFlDxELLI=
google.golang.org/grpc v1.75.1/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ=
google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE=
google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=

View File

@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.6
// protoc v6.31.1
// protoc-gen-go v1.36.10
// protoc v6.32.1
// source: judge.proto
package pb

View File

@ -1,7 +1,7 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.5.1
// - protoc v6.31.1
// - protoc v6.32.1
// source: judge.proto
package pb

View File

@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.6
// protoc v6.31.1
// protoc-gen-go v1.36.10
// protoc v6.32.1
// source: request.proto
package pb
@ -742,6 +742,7 @@ type Request_CmdType struct {
xxx_hidden_CopyOutCached *[]*Request_CmdCopyOutFile `protobuf:"bytes,10,rep,name=copyOutCached"`
xxx_hidden_CopyOutDir string `protobuf:"bytes,11,opt,name=copyOutDir"`
xxx_hidden_CopyOutMax uint64 `protobuf:"varint,14,opt,name=copyOutMax"`
xxx_hidden_CopyOutTruncate bool `protobuf:"varint,20,opt,name=copyOutTruncate"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
@ -910,6 +911,13 @@ func (x *Request_CmdType) GetCopyOutMax() uint64 {
return 0
}
func (x *Request_CmdType) GetCopyOutTruncate() bool {
if x != nil {
return x.xxx_hidden_CopyOutTruncate
}
return false
}
func (x *Request_CmdType) SetArgs(v []string) {
x.xxx_hidden_Args = v
}
@ -986,6 +994,10 @@ func (x *Request_CmdType) SetCopyOutMax(v uint64) {
x.xxx_hidden_CopyOutMax = v
}
func (x *Request_CmdType) SetCopyOutTruncate(v bool) {
x.xxx_hidden_CopyOutTruncate = v
}
type Request_CmdType_builder struct {
_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
@ -1008,6 +1020,7 @@ type Request_CmdType_builder struct {
CopyOutCached []*Request_CmdCopyOutFile
CopyOutDir string
CopyOutMax uint64
CopyOutTruncate bool
}
func (b0 Request_CmdType_builder) Build() *Request_CmdType {
@ -1033,6 +1046,7 @@ func (b0 Request_CmdType_builder) Build() *Request_CmdType {
x.xxx_hidden_CopyOutCached = &b.CopyOutCached
x.xxx_hidden_CopyOutDir = b.CopyOutDir
x.xxx_hidden_CopyOutMax = b.CopyOutMax
x.xxx_hidden_CopyOutTruncate = b.CopyOutTruncate
return m0
}
@ -1317,7 +1331,7 @@ var File_request_proto protoreflect.FileDescriptor
const file_request_proto_rawDesc = "" +
"\n" +
"\rrequest.proto\x12\x02pb\x1a\x1bgoogle/protobuf/empty.proto\x1a!google/protobuf/go_features.proto\"\x8f\x0e\n" +
"\rrequest.proto\x12\x02pb\x1a\x1bgoogle/protobuf/empty.proto\x1a!google/protobuf/go_features.proto\"\xb9\x0e\n" +
"\aRequest\x12\x1c\n" +
"\trequestID\x18\x01 \x01(\tR\trequestID\x12%\n" +
"\x03cmd\x18\x02 \x03(\v2\x13.pb.Request.CmdTypeR\x03cmd\x125\n" +
@ -1341,7 +1355,7 @@ const file_request_proto_rawDesc = "" +
"\x04pipe\x18\x04 \x01(\v2\x19.pb.Request.PipeCollectorH\x00R\x04pipe\x124\n" +
"\bstreamIn\x18\x05 \x01(\v2\x16.google.protobuf.EmptyH\x00R\bstreamIn\x126\n" +
"\tstreamOut\x18\x06 \x01(\v2\x16.google.protobuf.EmptyH\x00R\tstreamOutB\x06\n" +
"\x04file\x1a\xef\x06\n" +
"\x04file\x1a\x99\a\n" +
"\aCmdType\x12\x12\n" +
"\x04args\x18\x01 \x03(\tR\x04args\x12\x10\n" +
"\x03env\x18\x02 \x03(\tR\x03env\x12&\n" +
@ -1368,7 +1382,8 @@ const file_request_proto_rawDesc = "" +
"copyOutDir\x12\x1e\n" +
"\n" +
"copyOutMax\x18\x0e \x01(\x04R\n" +
"copyOutMax\x1aK\n" +
"copyOutMax\x12(\n" +
"\x0fcopyOutTruncate\x18\x14 \x01(\bR\x0fcopyOutTruncate\x1aK\n" +
"\vCopyInEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12&\n" +
"\x05value\x18\x02 \x01(\v2\x10.pb.Request.FileR\x05value:\x028\x01\x1a;\n" +

View File

@ -60,6 +60,7 @@ message Request {
repeated CmdCopyOutFile copyOutCached = 10;
string copyOutDir = 11;
uint64 copyOutMax = 14;
bool copyOutTruncate = 20;
}
message CmdCopyOutFile {

View File

@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.6
// protoc v6.31.1
// protoc-gen-go v1.36.10
// protoc v6.32.1
// source: response.proto
package pb

View File

@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.6
// protoc v6.31.1
// protoc-gen-go v1.36.10
// protoc v6.32.1
// source: stream_request.proto
package pb

View File

@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.6
// protoc v6.31.1
// protoc-gen-go v1.36.10
// protoc v6.32.1
// source: stream_response.proto
package pb