Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Index your code
hub
/
github.com/VKCOM/nocc
/ types & classes
Types & classes
86 in github.com/VKCOM/nocc
⨍
Functions
508
◇
Types & classes
86
Struct
Client
Client represents a client machine that has set up a connection to server. When a nocc process starts on a client machine, it generates a stable but u
internal/server/client.go:49
Struct
ClientsStorage
ClientsStorage contains all active clients connected to this server. After a client is not active for some time, it's deleted (and its working directo
internal/server/clients-storage.go:15
Interface
CompilationServiceClient
CompilationServiceClient is the client API for CompilationService service. For semantics around ctx use and closing/ending streaming RPCs, please ref
pb/nocc-protobuf_grpc.pb.go:20
Interface
CompilationServiceServer
CompilationServiceServer is the server API for CompilationService service. All implementations must embed UnimplementedCompilationServiceServer for fo
pb/nocc-protobuf_grpc.pb.go:184
Interface
CompilationService_DumpLogsClient
pb/nocc-protobuf_grpc.pb.go:155
Interface
CompilationService_DumpLogsServer
pb/nocc-protobuf_grpc.pb.go:366
Interface
CompilationService_RecvCompiledObjStreamClient
pb/nocc-protobuf_grpc.pb.go:105
Interface
CompilationService_RecvCompiledObjStreamServer
pb/nocc-protobuf_grpc.pb.go:309
Interface
CompilationService_UploadFileStreamClient
pb/nocc-protobuf_grpc.pb.go:68
Interface
CompilationService_UploadFileStreamServer
pb/nocc-protobuf_grpc.pb.go:279
Struct
Cron
Cron calls doCron(), which ticks in the background and used to write stats, delete inactive clients, etc.
internal/server/cron.go:11
Struct
CxxLauncher
internal/server/cxx-launcher.go:14
Struct
Daemon
Daemon is created once, in a separate process `nocc-daemon`, which is listening for connections via unix socket. `nocc-daemon` is created by the first
internal/client/daemon.go:31
Struct
DaemonSockRequest
internal/client/daemon-sock.go:23
Struct
DaemonSockResponse
internal/client/daemon-sock.go:28
Struct
DaemonUnixSockListener
DaemonUnixSockListener is created when `nocc-daemon` starts. It listens to a unix socket from `nocc` invocations (from a lightweight C++ wrapper). Req
internal/client/daemon-sock.go:17
Struct
DepCmdFlags
DepCmdFlags contains flags from the command line to generate .o.d file. CMake and make sometimes invoke the compiler like > g++ -MD -MT example.dir/1.
internal/client/dep-cmd-flags.go:24
Struct
DepFile
DepFile represents a .o.d file after being parsed or at the moment of being generated
internal/client/dep-files.go:20
Struct
DepFileTarget
DepFileTarget is one target in .o.d file: targetName: dep dep dep in a text file, deps are separated by spaces or slash+newlines
internal/client/dep-files.go:14
Struct
DropAllCachesReply
pb/nocc-protobuf.pb.go:1049
Struct
DropAllCachesRequest
pb/nocc-protobuf.pb.go:1011
Struct
DumpLogsReply
pb/nocc-protobuf.pb.go:956
Struct
DumpLogsRequest
pb/nocc-protobuf.pb.go:918
Struct
FileCache
FileCache is a base for ObjFileCache and SrcFileCache, see comments for them. It's a directory stored somewhere in /tmp where files could be saved and
internal/server/file-cache.go:28
Struct
FileMetadata
pb/nocc-protobuf.pb.go:23
Struct
FilesReceiving
FilesReceiving is a singleton inside Daemon that holds a bunch of grpc streams to receive compiled .o files. The number of streams is limited, they al
internal/client/files-receiving.go:19
Struct
FilesUploading
FilesUploading is a singleton inside Daemon that holds a bunch of grpc streams to upload .cpp/.h files. Very similar to FilesReceiving.
internal/client/files-uploading.go:22
Struct
GRPCClient
internal/client/grpc-client.go:10
Class
GoDaemonResponse
cmd/nocc.cpp:37
Struct
IncludeDirs
IncludeDirs represents a part of the command-line related to include dirs (absolute paths).
internal/client/include-dirs.go:4
Struct
IncludedFile
IncludedFile is a dependency for a .cpp compilation (a resolved #include directive, a pch file, a .cpp itself). Actually, fileName extension is not .h
internal/client/includes-collector.go:20
Struct
IncludesCache
IncludesCache represents a structure that is kept in memory while the daemon is running. It helps reduce hard disk lookups for #include resolving.
internal/client/includes-cache.go:17
Struct
Invocation
Invocation describes one `nocc` invocation inside a daemon. When `nocc g++ ...` is called, it pipes cmdLine to a background Daemon, which serves them
internal/client/invocation.go:22
Struct
InvocationSummary
InvocationSummary represents some meaningful metrics/timings of one `nocc` execution. If a log verbosity is greater than 0, this summary is logged as
internal/client/invocation-summary.go:19
Struct
LocalCxxLaunch
LocalCxxLaunch describes an invocation when it's executed locally, not remotely. When some remotes are not available, files that were calculated to be
internal/client/compile-locally.go:17
Struct
LoggerWrapper
internal/common/logger.go:11
Struct
NoccServer
NoccServer stores all server's state and serves grpc requests. Remember, that in practice, the nocc-server process is started on different physical no
internal/server/nocc-server.go:29
Struct
ObjFileCache
ObjFileCache is a /tmp/nocc/obj/obj-cache directory, where the resulting .o files are saved. Its purpose is to reuse a ready .o file if the same .cpp
internal/server/obj-cache.go:18
Struct
OpenReceiveStreamRequest
pb/nocc-protobuf.pb.go:486
Struct
OwnPch
OwnPch describes a .nocc-pch file. It's a nocc precompiled header generated INSTEAD OF .gch/.pch on a client side — and compiled on a server side into
internal/common/own-pch-files.go:52
Struct
PchCompilation
PchCompilation is a singleton inside NoccServer that stores compiled .nocc-pch files. Unlike src cache, here there is no lru (it's supposed that there
internal/server/pch-compilation.go:22
Struct
RecvCompiledObjChunkReply
pb/nocc-protobuf.pb.go:533
Struct
RemoteConnection
RemoteConnection represents a state of a current process related to remote execution. It also has methods that call grpc, so this module is close to p
internal/client/remote-connection.go:17
Struct
SHA256
goland:noinspection GoSnakeCaseUsage
internal/common/sha256-struct.go:13
Struct
Session
Session is created when a client requests to compile a .cpp file. It's a server representation of client.Invocation. A lifetime of one Session is the
internal/server/session.go:18
Struct
SrcFileCache
SrcFileCache is a /tmp/nocc/cpp/src-cache directory, where uploaded .cpp/.h/etc. files are saved. It's supposed that sha256 uniquely identifies the fi
internal/server/src-cache.go:13
Struct
StartClientReply
pb/nocc-protobuf.pb.go:189
Struct
StartClientRequest
pb/nocc-protobuf.pb.go:110
Struct
StartCompilationSessionReply
pb/nocc-protobuf.pb.go:330
Struct
StartCompilationSessionRequest
pb/nocc-protobuf.pb.go:227
Struct
Statsd
Statsd contains all metrics from server start up till now. They are periodically dump to statsd if configured.
internal/server/statsd.go:15
Struct
StatusReply
pb/nocc-protobuf.pb.go:751
Struct
StatusRequest
pb/nocc-protobuf.pb.go:713
Struct
StopClientReply
pb/nocc-protobuf.pb.go:675
Struct
StopClientRequest
pb/nocc-protobuf.pb.go:628
Struct
SystemHeadersCache
SystemHeadersCache stores info about system headers (typically, inside /usr/include). If a client wants to send /usr/include/math.h, and it's the same
internal/server/system-headers.go:23
Struct
UnimplementedCompilationServiceServer
UnimplementedCompilationServiceServer must be embedded to have forward compatible implementations.
pb/nocc-protobuf_grpc.pb.go:199
Interface
UnsafeCompilationServiceServer
UnsafeCompilationServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as adde
pb/nocc-protobuf_grpc.pb.go:231
Struct
UploadFileChunkRequest
pb/nocc-protobuf.pb.go:377
Struct
UploadFileReply
pb/nocc-protobuf.pb.go:448
Struct
cachedFile
internal/server/file-cache.go:13
Interface
cmdLineArg
internal/common/cmd-env-flags.go:15
Struct
cmdLineArgBool
internal/common/cmd-env-flags.go:61
Struct
cmdLineArgInt
internal/common/cmd-env-flags.go:105
Struct
cmdLineArgString
internal/common/cmd-env-flags.go:25
Struct
compilationServiceClient
pb/nocc-protobuf_grpc.pb.go:33
Struct
compilationServiceDumpLogsClient
pb/nocc-protobuf_grpc.pb.go:160
Struct
compilationServiceDumpLogsServer
pb/nocc-protobuf_grpc.pb.go:371
Struct
compilationServiceRecvCompiledObjStreamClient
pb/nocc-protobuf_grpc.pb.go:110
Struct
compilationServiceRecvCompiledObjStreamServer
pb/nocc-protobuf_grpc.pb.go:314
Struct
compilationServiceUploadFileStreamClient
pb/nocc-protobuf_grpc.pb.go:74
Struct
compilationServiceUploadFileStreamServer
pb/nocc-protobuf_grpc.pb.go:285
Struct
compiledPchItem
internal/server/pch-compilation.go:13
Struct
fileInClientDir
fileInClientDir describes a file on a server file system inside a client working dir. When multiple client nocc processes are launched (the same clien
internal/server/client.go:35
Struct
fileUploadReq
internal/client/files-uploading.go:14
Struct
includeCachedHFile
internal/client/includes-cache.go:9
Struct
invocationTimingItem
internal/client/invocation-summary.go:9
Struct
lruNode
internal/server/file-cache.go:19
Struct
ownIncludedArg
ownIncludedArg describes an argument for an #include directive
internal/client/own-includes-parser.go:14
Struct
ownIncludesParser
ownIncludesParser (this module) does the same work as `cxx -M` but much faster. It has methods that parse cpp/h files, find #include, resolve them and
internal/client/own-includes-parser.go:33
Struct
ownPchDepInclude
internal/common/own-pch-files.go:18
Struct
rpcDropCachesRes
rpcDropCachesRes is an intermediate structure describing the rpc /DropAllCaches request
internal/client/manage-servers.go:30
Struct
rpcDumpLogsRes
rpcDumpLogsRes is an intermediate structure describing the rpc /DumpLogs request
internal/client/manage-servers.go:22
Struct
rpcStatusRes
rpcStatusRes is an intermediate structure describing the rpc /Status request
internal/client/manage-servers.go:14
Struct
systemHeader
internal/server/system-headers.go:11
Struct
x
pb/nocc-protobuf.pb.go:1555