SYMBOL INDEX (572 symbols across 81 files) FILE: back-filesystem/app.js constant GIT_DIR (line 33) | const GIT_DIR = process.argv[2]; constant WORK_DIR (line 34) | const WORK_DIR = process.argv[3]; FILE: back-filesystem/src/controller.js class FilesController (line 33) | class FilesController extends EventEmitter { method constructor (line 34) | constructor(gitDir, workDir, logMemo) { method _isInitialized (line 54) | _isInitialized() { method _isSetUp (line 59) | _isSetUp() { method receiveMessage (line 63) | receiveMessage(name, content) { method destroy (line 384) | destroy() { method _logError (line 388) | _logError(context, err) { method _sendMessage (line 399) | _sendMessage(name, content) { method _fail (line 404) | _fail() { method _setupUploader (line 412) | _setupUploader() { FILE: back-filesystem/src/fake-socket.js class FakeSocket (line 33) | class FakeSocket extends EventEmitter { method constructor (line 34) | constructor() { FILE: back-filesystem/src/git-util.js class GitUtil (line 29) | class GitUtil { method constructor (line 30) | constructor(gitDir, logMemo) { method initialize (line 39) | initialize(user, workDir, next) { method initializeBucket (line 55) | initializeBucket(bucketId, workDir, readonly, next) { method _initialize (line 76) | _initialize(remote, workDir, next) { method pullPush (line 99) | pullPush(message, next) { method _pullPush (line 111) | _pullPush(message, next) { method _pull (line 146) | _pull(next) { method _commit (line 167) | _commit(message, next) { method _createUserOnRemote (line 185) | _createUserOnRemote(user, next) { method _createBucketOnRemote (line 205) | _createBucketOnRemote(bucketId, next) { method _userToRemote (line 225) | _userToRemote(user) { method _bucketToRemote (line 229) | _bucketToRemote(bucketId) { method _gitConfigArgs (line 233) | _gitConfigArgs() { FILE: back-filesystem/src/working-util.js constant ACCEPTABLE_MIME_REGEX (line 36) | const ACCEPTABLE_MIME_REGEX = /^(text\/.*)$/; constant UNACCEPTABLE_FILENAME_REGEX (line 37) | const UNACCEPTABLE_FILENAME_REGEX = /^(\..*|octave-\w+)$/; class WorkingUtil (line 39) | class WorkingUtil { method constructor (line 40) | constructor(workDir, logMemo) { method listAll (line 46) | listAll(next) { method hasOctaverc (line 64) | hasOctaverc(next) { method _recursiveReaddir (line 76) | _recursiveReaddir(directory, depth, next) { method getFileInfo (line 122) | getFileInfo(filename, next) { method _getFileInfo (line 138) | _getFileInfo(filename, pathname, relname, stats, next) { method _convertCharset (line 171) | _convertCharset(buf) { method saveFile (line 196) | saveFile(filename, value, next) { method renameFile (line 245) | renameFile(oldname, newname, next) { method deleteFile (line 252) | deleteFile(filename, next) { method readBinary (line 258) | readBinary(filename, next) { method _safePath (line 271) | _safePath(filename) { FILE: back-master/app.js function makeSessionLogDir (line 61) | function makeSessionLogDir(tokens) { function doExit (line 170) | function doExit() { function doGracefulExit (line 184) | function doGracefulExit() { function doFastExit (line 205) | function doFastExit() { FILE: back-master/src/capped-file-system.js constant IMG_FILE_NAME (line 34) | const IMG_FILE_NAME = "img.ext3"; constant IMG_MNT_DIR (line 35) | const IMG_MNT_DIR = "mnt"; constant IMG_DATA_DIR (line 36) | const IMG_DATA_DIR = "data"; class CappedFileSystem (line 38) | class CappedFileSystem extends OnlineOffline { method constructor (line 39) | constructor(sessCode, size) { method _doCreate (line 48) | _doCreate(next) { method _doDestroy (line 131) | _doDestroy(next) { class TmpWorkDirectory (line 145) | class TmpWorkDirectory extends OnlineOffline { method constructor (line 146) | constructor(sessCode) { method _doCreate (line 152) | _doCreate(next) { method _doDestroy (line 173) | _doDestroy(next) { FILE: back-master/src/docker-handler.js class DockerHandler (line 28) | class DockerHandler extends StdioMessenger { method constructor (line 29) | constructor(sessCode, dockerImage) { method _doCreate (line 35) | _doCreate(next, dockerArgs) { method _doDestroy (line 73) | _doDestroy(next) { method signal (line 83) | signal(name) { method _handleLog (line 91) | _handleLog(data) { method _handleExit (line 104) | _handleExit(code, signal) { FILE: back-master/src/main-flavor.js function start (line 39) | function start(globals, next) { function startConnectionAcceptLoop (line 50) | function startConnectionAcceptLoop(globals, next) { function startLifetimeLoop (line 116) | function startLifetimeLoop(globals, next) { function doExit (line 166) | function doExit() { FILE: back-master/src/main-pool.js function start (line 37) | function start(globals, next) { function startConnectionAcceptLoop (line 48) | function startConnectionAcceptLoop(globals, next) { function startMaintenanceLoop (line 93) | function startMaintenanceLoop(globals, next) { function doExit (line 142) | function doExit() { FILE: back-master/src/maintenance-request-manager.js class MaintenanceRequestFlavorManager (line 28) | class MaintenanceRequestFlavorManager extends EventEmitter { method constructor (line 29) | constructor(clusterSize) { method reset (line 40) | reset() { method ignoreAll (line 48) | ignoreAll() { method beginRequesting (line 52) | beginRequesting(intervalTime) { method onMessage (line 58) | onMessage(id, isRequest, message) { method stop (line 76) | stop() { method _requestMaintenance (line 83) | _requestMaintenance() { FILE: back-master/src/maintenance.js function runMaintenance (line 27) | function runMaintenance(next) { FILE: back-master/src/message-translator.js class MessageTranslator (line 31) | class MessageTranslator extends EventEmitter { method fromUpstream (line 34) | fromUpstream(sessCode, name, content) { method fromDownstream (line 195) | fromDownstream(sessCode, name, getData) { method _forDownstream (line 231) | _forDownstream(sessCode, name, content) { method _forUpstream (line 235) | _forUpstream(sessCode, name, getData) { FILE: back-master/src/octave-session.js class OctaveSession (line 44) | class OctaveSession extends OnlineOffline { method constructor (line 45) | constructor(sessCode, options) { method _doCreate (line 76) | _doCreate(next) { method _doDestroy (line 87) | _doDestroy(next, reason) { method interrupt (line 108) | interrupt() { method enqueueMessage (line 112) | enqueueMessage(name, getData) { method _startCountdown (line 118) | _startCountdown() { method _endCountdown (line 124) | _endCountdown() { method _onCountdownEnd (line 130) | _onCountdownEnd() { method _addTime (line 143) | _addTime() { method resetTimeout (line 149) | resetTimeout() { method _resetPayload (line 166) | _resetPayload() { method _appendToPayload (line 170) | _appendToPayload(content) { method _acknowledgePayload (line 198) | _acknowledgePayload() { method _continueIfPaused (line 204) | _continueIfPaused() { method _startAutoCommitLoop (line 213) | _startAutoCommitLoop() { method _commit (line 220) | _commit(comment, next) { method _appendToSessionLog (line 232) | _appendToSessionLog(type, content) { method _convertPlotImages (line 240) | _convertPlotImages(content) { method _onDeletedBinary (line 271) | _onDeletedBinary(content) { method _resolvePng (line 284) | _resolvePng(content) { method _handleRequestUrl (line 308) | _handleRequestUrl(content) { method _createBucket (line 393) | _createBucket(bucketInfo) { method _checkThrottle (line 492) | _checkThrottle() { method sendMessage (line 511) | sendMessage(name, content) { method _handleMessage (line 615) | _handleMessage(name, content) { method _handleError (line 715) | _handleError(err) { FILE: back-master/src/process-handler.js class ProcessHandler (line 27) | class ProcessHandler extends StdioMessenger { method constructor (line 28) | constructor(sessCode) { method _doCreate (line 35) | _doCreate(next, fn) { method _doDestroy (line 79) | _doDestroy(next) { method signal (line 91) | signal(name) { method _signal (line 98) | _signal(name) { method _handleLog (line 102) | _handleLog(data) { method _handleExit (line 109) | _handleExit(code, signal) { FILE: back-master/src/session-impl.js class SessionImpl (line 40) | class SessionImpl extends OctaveSession { method constructor (line 41) | constructor(sessCode, options) { method _doCreateImpl (line 61) | _doCreateImpl(next) { method _doDestroyImpl (line 86) | _doDestroyImpl(next, reason) { method _signal (line 112) | _signal(name) { method _sendMessageToFiles (line 116) | _sendMessageToFiles(name, content) { method _sendMessageToHost (line 120) | _sendMessageToHost(name, content) { method _onceMessageFromFiles (line 125) | _onceMessageFromFiles(name, next) { class HostProcessHandler (line 130) | class HostProcessHandler extends ProcessHandler { method constructor (line 131) | constructor(sessCode, options) { method _doCreate (line 140) | _doCreate(next, dataDir) { method _doDestroy (line 217) | _doDestroy(next) { method _doDestroyProcess (line 231) | _doDestroyProcess() { method _signal (line 245) | _signal(name) { class FilesControllerHandler (line 253) | class FilesControllerHandler extends OnlineOffline { method constructor (line 254) | constructor(sessCode) { method _doCreate (line 262) | _doCreate(next, dataDir) { method _doDestroy (line 290) | _doDestroy(next) { method sendMessage (line 306) | sendMessage(name, content) { method _flush (line 310) | _flush() { class SessionSELinux (line 315) | class SessionSELinux extends SessionImpl { method _makeSessions (line 316) | _makeSessions() { method _makeNewFileSession (line 321) | _makeNewFileSession(sessCode) { class HostDockerHandler (line 326) | class HostDockerHandler extends DockerHandler { method constructor (line 327) | constructor(sessCode) { method _doCreate (line 337) | _doCreate(next, dataDir) { class FilesDockerHandler (line 351) | class FilesDockerHandler extends DockerHandler { method constructor (line 352) | constructor(sessCode) { method _doCreate (line 362) | _doCreate(next, dataDir) { class SessionDocker (line 373) | class SessionDocker extends SessionImpl { method _makeSessions (line 374) | _makeSessions() { method _makeNewFileSession (line 379) | _makeNewFileSession(sessCode) { FILE: back-master/src/session-manager.js class SessionManager (line 34) | class SessionManager extends EventEmitter { method constructor (line 35) | constructor(maxOnly) { method _setup (line 66) | _setup() { method numActiveSessions (line 98) | numActiveSessions() { method canAcceptNewSessions (line 102) | canAcceptNewSessions() { method usagePercent (line 118) | usagePercent() { method isHealthy (line 122) | isHealthy() { method _create (line 126) | _create(next, options) { method attach (line 154) | attach(remoteCode, content) { // Move pool session to online session method get (line 220) | get(sessCode) { method destroy (line 229) | destroy(sessCode, reason) { method startPool (line 261) | startPool() { method disablePool (line 305) | disablePool() { method terminate (line 319) | terminate(reason) { method restart (line 334) | restart() { method recordMetrics (line 339) | recordMetrics() { FILE: back-octave/host.c type write_req_t (line 70) | typedef struct { type STD_STREAM (line 75) | enum STD_STREAM { function cb_walk (line 84) | void cb_walk(uv_handle_t* handle, void* arg) { function cleanup (line 88) | void cleanup() { function cb_cleanup_write_req (line 96) | void cb_cleanup_write_req(uv_write_t *req, int status) { function cb_alloc_buffer (line 102) | void cb_alloc_buffer(uv_handle_t* handle, size_t suggested_size, uv_buf_... function cb_sigfwd (line 106) | void cb_sigfwd(uv_signal_t *handle, int signum) { function cb_exit (line 111) | void cb_exit(uv_process_t* req, int64_t exit_status, int term_signal) { function write_to_socket (line 120) | void write_to_socket(const char* str, size_t len) { function write_to_stdout (line 127) | void write_to_stdout(const char* str, size_t len) { function print_json_msg_str (line 134) | void print_json_msg_str(const char* name, const char* str, size_t len) { function process_std_stream (line 155) | void process_std_stream(enum STD_STREAM type, uv_stream_t* stream, ssize... function cb_stdmsg (line 196) | void cb_stdmsg(uv_stream_t* stream, ssize_t nread, const uv_buf_t* buf) { function cb_stdout (line 200) | void cb_stdout(uv_stream_t* stream, ssize_t nread, const uv_buf_t* buf) { function cb_stderr (line 204) | void cb_stderr(uv_stream_t* stream, ssize_t nread, const uv_buf_t* buf) { function cb_stdin (line 208) | void cb_stdin(uv_stream_t* stream, ssize_t nread, const uv_buf_t* buf) { function cb_connect (line 212) | void cb_connect(uv_stream_t* comm, int status) { function main (line 232) | int main(int argc, char* argv[]) { FILE: client/Gruntfile.js function getCssTimestamp (line 26) | function getCssTimestamp() { function getJsTimestamp (line 30) | function getJsTimestamp() { function getFileUtf8 (line 34) | function getFileUtf8(filepath) { FILE: client/app/fonts/dejavusansmono_book/specimen_files/easytabs.js function hideAll (line 4) | function hideAll(){$(thisId+" .easytabs-tab-content").hide();} function changeContent (line 5) | function changeContent(tabId){hideAll();$(thisId+" .tabs li").removeClas... FILE: client/app/js/ace-adapter.js function bind (line 27) | function bind(fn, me){ function ACEAdapter (line 34) | function ACEAdapter(aceInstance) { FILE: client/app/js/ace-extras.js function e (line 3) | function e(e,t,n){return e=e.substr(1),/^\d+$/.test(e)&&!n.inFormatStrin... function t (line 3) | function t(e){return"(?:[^\\\\"+e+"]|\\\\.)"} function o (line 3) | function o(t){var n=e.indexOf(t,r+1);n!=-1&&(r=n)} function l (line 3) | function l(e){var t=[];for(var n=0;n void): void { method removeRepo (line 134) | removeRepo(this: IBucket, next: (err: Err) => void): void { method logf (line 155) | logf(this: IBucket): ILogger { FILE: front/src/email.ts function sendLoginToken (line 35) | async function sendLoginToken(email: string, token: string, url: string) { function sendZipArchive (line 54) | async function sendZipArchive(email: string, desc: string, url: string) { FILE: front/src/express_setup.ts constant PORT (line 48) | const PORT = process.env.PORT || config.front.listen_port; constant STATIC_PATH_1 (line 49) | const STATIC_PATH_1 = Path.join(__dirname, "..", "..", config.front.stat... constant STATIC_PATH_2 (line 50) | const STATIC_PATH_2 = Path.join(__dirname, "..", "static"); constant STATIC_OPTS (line 51) | const STATIC_OPTS: ServeStatic.ServeStaticOptions = { type BuildData (line 67) | interface BuildData { function getT (line 73) | function getT(req: Express.Request) { function getCurrentLanguage (line 85) | function getCurrentLanguage(req: Express.Request, buildData: BuildData) { function getJSTranslations (line 98) | function getJSTranslations(req: Express.Request, t: I18next.TFunction) { function init (line 119) | function init(buildData: BuildData){ FILE: front/src/flavor_record_model.ts type IFlavorRecord (line 34) | interface IFlavorRecord extends Mongoose.Document { FILE: front/src/mongo.ts function connect (line 27) | async function connect(): Promise { FILE: front/src/octave_session_helper.ts type Err (line 26) | type Err = Error|null; type SessionState (line 28) | enum SessionState { class OctaveSessionHelper (line 36) | class OctaveSessionHelper extends EventEmitter { method constructor (line 39) | constructor() { method getNewSessCode (line 44) | public getNewSessCode(sessCodeGuess: string|null, next: (err: Err, ses... method askForOctave (line 72) | public askForOctave(sessCode: string, content: any, next: (err: Err) =... method sendDestroyD (line 95) | public sendDestroyD(sessCode: string, message: string) { method makeSessCode (line 100) | private makeSessCode(next: (err: Err, sessCode: string) => void) { method isValid (line 111) | private isValid(sessCode: string, next: (valid: SessionState) => void) { FILE: front/src/ot_document.ts type Err (line 28) | type Err = Error|null; class OtDocument (line 39) | class OtDocument extends EventEmitter { method constructor (line 50) | constructor (id: string, safeId: string, initialContent: string) { method logFilename (line 59) | public logFilename(filename: string) { method subscribe (line 63) | public subscribe() { method unsubscribe (line 71) | public unsubscribe() { method dataD (line 76) | public dataD(name: string, value: any) { method changeDocId (line 93) | public changeDocId(newDocId: string) { method destroy (line 104) | public destroy() { method load (line 109) | private load() { method touch (line 132) | private touch() { method receiveOperation (line 201) | private receiveOperation(rev: number, op: Ot.ITextOperation) { method setContent (line 218) | private setContent(content: string) { FILE: front/src/passport_setup.ts type Err (line 32) | type Err = Error | null; function findOrCreateUser (line 39) | async function findOrCreateUser(email: string, profile: any) { type PasswordStatus (line 61) | enum PasswordStatus { UNKNOWN, INCORRECT, VALID } type UserWithPasswordResponse (line 63) | interface UserWithPasswordResponse { function findWithPasswordPromise (line 68) | async function findWithPasswordPromise(email: string, password: string):... function findWithPassword (line 95) | function findWithPassword(email: string, password: string, done: (err: E... function init (line 181) | function init(){ FILE: front/src/patreon.ts type PatreonInfo (line 30) | interface PatreonInfo { type PatreonPhase1AsyncAuto (line 36) | interface PatreonPhase1AsyncAuto { type PatreonPhase2AsyncAuto (line 43) | interface PatreonPhase2AsyncAuto { type PatreonRevokeAsyncAuto (line 53) | interface PatreonRevokeAsyncAuto { function processMembership (line 79) | function processMembership(membership: any, user_id: string|null): Patre... function phase1 (line 101) | function phase1(req: any, res: any, next: any) { function phase2 (line 141) | function phase2(req: any, res: any, next: any) { function revoke (line 255) | function revoke(req: any, res: any, next: any) { function webhook (line 298) | function webhook(req: any, res: any, next: any) { FILE: front/src/program_model.ts type ProgramModel (line 27) | type ProgramModel = Mongoose.Model; type IProgramMethods (line 47) | interface IProgramMethods { type IProgram (line 51) | interface IProgram { FILE: front/src/session_middleware.ts function init (line 33) | function init() { FILE: front/src/shared_wrap.ts type IRedisMessenger (line 29) | interface IRedisMessenger extends Shared.RedisMessenger, EventEmitter {} function newRedisMessenger (line 30) | function newRedisMessenger(...args: any[]): IRedisMessenger { type IRedisQueue (line 34) | interface IRedisQueue extends Shared.RedisQueue, EventEmitter {} function newRedisQueue (line 35) | function newRedisQueue(...args: any[]): IRedisQueue { type ILogger (line 40) | interface ILogger { function logger (line 49) | function logger(id: string): ILogger { FILE: front/src/socket_connect.ts constant TOKEN_REGEX (line 37) | const TOKEN_REGEX = /^\w*$/; constant SHORTLINK_REGEX (line 38) | const SHORTLINK_REGEX = /^[\p{L}\p{Nd}_-]{5,}$/u; type ISocketCustom (line 42) | interface ISocketCustom extends SocketIO.Socket { type InitData (line 47) | interface InitData { type SocketAsyncAuto (line 55) | interface SocketAsyncAuto { type DeleteBucketAsyncAuto (line 63) | interface DeleteBucketAsyncAuto { class SocketHandler (line 69) | class SocketHandler implements IDestroyable { method onConnection (line 80) | public static onConnection(socket: SocketIO.Socket) { method constructor (line 85) | constructor(socket: SocketIO.Socket) { method listen (line 254) | private listen(): void { method unlisten (line 279) | private unlisten(): void { method sendMessage (line 290) | private sendMessage(message: string): void { method onDestroyD (line 303) | private onDestroyD(): void { method onDestroyU (line 310) | private onDestroyU(message: string): void { method onDataD (line 318) | private onDataD(obj: any): void { method onDataU (line 388) | private onDataU(name: string, data: any): void { method onDataW (line 406) | private onDataW(name: string, data: any): void { method loadInstructor (line 412) | private async loadInstructor(): Promise { method loadUserBuckets (line 425) | private async loadUserBuckets(): Promise { method touchUser (line 432) | private touchUser(): void { method touchBucket (line 442) | private touchBucket(): void { method onSetPassword (line 452) | private onSetPassword(obj: any): void { method parseDuplicateKeyError (line 461) | private parseDuplicateKeyError(err: Error): object | void { method onCreateBucket (line 475) | private onCreateBucket(obj: any): void { method onBucketRepoCreated (line 526) | private onBucketRepoCreated(bucket: any): void { method onChangeBucketShortlink (line 530) | private onChangeBucketShortlink(obj: any): void { method onDeleteBucket (line 581) | private onDeleteBucket(obj: any): void { method onTouchFlavor (line 623) | private onTouchFlavor(obj: any): void { method onOoReconnect (line 651) | private onOoReconnect(): void { method setSessCode (line 659) | private setSessCode(sessCode: string): void { method onDataWtoU (line 669) | private onDataWtoU(name: string, value: any): void { method onEnroll (line 675) | private onEnroll(obj: any): void { method onUpdateStudents (line 687) | private onUpdateStudents(obj: any): void { method onUnenrollStudent (line 692) | private async onUnenrollStudent(obj: any): Promise { method onReenrollStudent (line 705) | private async onReenrollStudent(obj: any): Promise { method onPing (line 723) | private onPing(obj: any): void { method onToggleSharing (line 730) | private onToggleSharing(obj: any): void { method onFlavorUpgrade (line 781) | private onFlavorUpgrade(obj: any): void { method onGenerateZip (line 800) | private onGenerateZip(obj: any): void { FILE: front/src/socketio.ts function init (line 34) | function init(){ FILE: front/src/user_model.ts type Err (line 31) | type Err = Error | null; type UserModel (line 32) | type UserModel = Mongoose.Model; type UserSchema (line 33) | type UserSchema = Mongoose.Schema void){ method destroyD (line 117) | public destroyD(message: string){ method destroyU (line 138) | public destroyU(message: string){ method dataD (line 141) | public dataD(name: string, value: any) { method dataU (line 165) | public dataU(name: string, value: any) { method resolveFileList (line 191) | private resolveFileList(files: any){ method resolveFileAdd (line 202) | private resolveFileAdd(file: any){ method resolveFileSave (line 211) | private resolveFileSave(file: any){ method resolveFile (line 216) | private resolveFile(filename: string, content: string) { method resolveFileRename (line 235) | private resolveFileRename(oldname: string, newname: string) { method resolveFileDelete (line 267) | private resolveFileDelete(filename: string) { method beginOctaveRequest (line 288) | public beginOctaveRequest(flavor: string) { method doBeginOctaveRequest (line 324) | private doBeginOctaveRequest(flavor: string) { method subscribe (line 381) | public subscribe() { method unsubscribe (line 395) | public unsubscribe() { FILE: front/typings/easy-no-password.d.ts type Err (line 25) | type Err = Error | null; type Data (line 27) | interface Data { type Options (line 33) | interface Options { type VerifiedFn (line 39) | type VerifiedFn = (err: Err, user?: unknown, info?: any) => void; type VerifyFn (line 41) | type VerifyFn = ((username: string, verified: VerifiedFn) => void) class EasyNoPassword (line 45) | class EasyNoPassword { class Strategy (line 53) | class Strategy { FILE: front/typings/i18next-fs-backend.d.ts type IHandleOptions (line 22) | interface IHandleOptions { FILE: front/typings/i18next-http-middleware.d.ts type IHandleOptions (line 22) | interface IHandleOptions { FILE: front/typings/ot.d.ts type ITextOperation (line 22) | interface ITextOperation { class Server (line 26) | class Server { class TextOperation (line 31) | class TextOperation { FILE: redirect/bin/server.js function normalizePort (line 57) | function normalizePort(val) { function onError (line 75) | function onError(error) { function onListening (line 101) | function onListening() { FILE: redirect/src/db.js function connect (line 26) | async function connect(url, dbName) { function close (line 32) | async function close() { function findBucketWithShortlink (line 36) | async function findBucketWithShortlink(shortlink) { FILE: shared/async-cache.js function makePromise (line 30) | function makePromise() { FILE: shared/gcp/index.js function getComputeClient (line 35) | function getComputeClient() { function getRecommendedSize (line 49) | async function getRecommendedSize(log) { function getTargetSize (line 58) | async function getTargetSize(log) { function getAutoscalerInfo (line 67) | async function getAutoscalerInfo(log) { function getSelfName (line 78) | async function getSelfName(log) { function removeSelfFromGroup (line 84) | async function removeSelfFromGroup(log) { function getStorageClient (line 110) | function getStorageClient() { function downloadFile (line 124) | async function downloadFile(log, bucketName, srcPath, destination) { function uploadRepoArchive (line 131) | async function uploadRepoArchive(log, tld, name) { function uploadRepoSnapshot (line 141) | async function uploadRepoSnapshot(log, tld, name) { function doUploadRepo (line 151) | async function doUploadRepo(log, tld, name, bucketName) { function restoreRepoFromCloudStorage (line 166) | async function restoreRepoFromCloudStorage(log, tld, name, bucketName, b... FILE: shared/gcp/reboot_or_remove_self.js function reboot (line 36) | async function reboot() { function main (line 40) | async function main() { FILE: shared/gitarchive.js function repoContainsRefs (line 35) | async function repoContainsRefs(tld, name) { function createRepoSnapshot (line 61) | async function createRepoSnapshot(tld, name, outStream) { function restoreRepoFromZipFile (line 82) | async function restoreRepoFromZipFile(log, tld, name, branchName, zipFil... function generateFilename (line 153) | function generateFilename(name) { FILE: shared/index.d.ts class JSONStreamSafe (line 3) | class JSONStreamSafe { class OnlineOffline (line 34) | class OnlineOffline { class Queue (line 71) | class Queue { class RedisMessenger (line 114) | class RedisMessenger { class RedisQueue (line 223) | class RedisQueue { class StdioMessenger (line 258) | class StdioMessenger { class EventEmitter (line 614) | class EventEmitter { class EventEmitter (line 680) | class EventEmitter { class EventEmitter (line 746) | class EventEmitter { class EventEmitter (line 812) | class EventEmitter { class EventEmitter (line 878) | class EventEmitter { class EventEmitter (line 944) | class EventEmitter { FILE: shared/json-stream-safe.js class JSONStreamSafe (line 30) | class JSONStreamSafe extends EventEmitter { method constructor (line 31) | constructor(stream) { method _run (line 37) | _run() { FILE: shared/metrics.js function getClient (line 29) | function getClient() { FILE: shared/online-offline.js class OnlineOffline (line 34) | class OnlineOffline extends EventEmitter { method constructor (line 35) | constructor() { method isOnline (line 43) | isOnline() { method create (line 47) | create(next) { method _afterCreate (line 83) | _afterCreate(err) { method destroy (line 128) | destroy(next) { method _afterDestroy (line 165) | _afterDestroy(err) { method _internalDestroyed (line 192) | _internalDestroyed(err) { FILE: shared/queue.js class Queue (line 27) | class Queue extends EventEmitter { method constructor (line 28) | constructor() { method size (line 34) | size() { method enqueue (line 38) | enqueue(item) { method dequeue (line 45) | dequeue() { method peek (line 53) | peek() { method removeAll (line 61) | removeAll() { method isEmpty (line 65) | isEmpty() { FILE: shared/redis-messenger.js class RedisMessenger (line 33) | class RedisMessenger extends EventEmitter { method constructor (line 34) | constructor() { method enableSessCodeScriptsSync (line 60) | enableSessCodeScriptsSync() { method enableOtScriptsSync (line 66) | enableOtScriptsSync() { method _makeScriptManager (line 83) | _makeScriptManager() { method input (line 89) | input(sessCode, name, content) { method subscribeToInput (line 98) | subscribeToInput() { method output (line 104) | output(sessCode, name, content) { method subscribeToOutput (line 113) | subscribeToOutput() { method putSessCode (line 119) | putSessCode(sessCode, millisecondBoost, content) { method putSessCodeFlavor (line 123) | putSessCodeFlavor(sessCode, millisecondBoost, flavor, content) { method _putSessCode (line 127) | _putSessCode(sessCode, millisecondBoost, channel, content) { method getSessCode (line 142) | getSessCode(next) { method getSessCodeFlavor (line 146) | getSessCodeFlavor(flavor, next) { method _getSessCode (line 150) | _getSessCode(channel, next) { method destroyD (line 164) | destroyD(sessCode, reason) { method subscribeToDestroyD (line 180) | subscribeToDestroyD() { method destroyU (line 188) | destroyU(sessCode, reason) { method subscribeToDestroyU (line 202) | subscribeToDestroyU() { method setLive (line 210) | setLive(sessCode) { method isValid (line 217) | isValid(sessCode, next) { method touchInput (line 223) | touchInput(sessCode, short) { method touchOutput (line 234) | touchOutput(sessCode) { method touchWorkspace (line 243) | touchWorkspace(wsId) { method touchOtDoc (line 250) | touchOtDoc(docId) { method subscribeToExpired (line 259) | subscribeToExpired() { method requestReboot (line 267) | requestReboot(id, priority) { method requestFlavorStatus (line 271) | requestFlavorStatus(flavor, id, priority) { method _requestReboot (line 275) | _requestReboot(channel, id, priority) { method replyToRebootRequest (line 289) | replyToRebootRequest(id, response) { method replyToFlavorStatus (line 293) | replyToFlavorStatus(flavor, id, response) { method _replyToRebootRequest (line 297) | _replyToRebootRequest(channel, id, response) { method subscribeToRebootRequests (line 311) | subscribeToRebootRequests() { method subscribeToFlavorStatus (line 315) | subscribeToFlavorStatus(flavor) { method _subscribeToRebootRequests (line 319) | _subscribeToRebootRequests(channel, eventName) { method workspaceMsg (line 327) | workspaceMsg(wsId, type, data) { method subscribeToWorkspaceMsgs (line 339) | subscribeToWorkspaceMsgs() { method getWorkspaceSessCode (line 347) | getWorkspaceSessCode(wsId, next) { method setWorkspaceSessCode (line 352) | setWorkspaceSessCode(wsId, newSessCode, oldSessCode, next) { method otMsg (line 361) | otMsg(docId, obj) { method subscribeToOtMsgs (line 370) | subscribeToOtMsgs() { method changeOtDocId (line 378) | changeOtDocId(oldDocId, newDocId) { method destroyOtDoc (line 389) | destroyOtDoc(docId) { method loadOtDoc (line 400) | loadOtDoc(docId, next) { method applyOtOperation (line 412) | applyOtOperation(docId, rev, message) { method setOtDocContent (line 430) | setOtDocContent(docId, content, message) { method close (line 448) | close() { method _subscribe (line 454) | _subscribe(channel) { method _psubscribe (line 472) | _psubscribe(chanFn) { method _epsubscribe (line 499) | _epsubscribe() { method _runScript (line 516) | _runScript(memo, keys, args, next) { method _serializeMessage (line 525) | _serializeMessage(name, content) { method _emitMessage (line 546) | _emitMessage(sessCode, message) { method _uploadAttachment (line 566) | _uploadAttachment(id, contentString, next) { method _downloadAttachment (line 583) | _downloadAttachment(id, next) { method _handleError (line 601) | _handleError() { method _ensureNotSubscribed (line 605) | _ensureNotSubscribed() { FILE: shared/redis-queue.js class RedisQueue (line 28) | class RedisQueue extends EventEmitter { method constructor (line 29) | constructor(logId) { method enqueueMessage (line 36) | enqueueMessage(name, getData) { method reset (line 47) | reset() { method _flushMessageQueue (line 51) | _flushMessageQueue() { FILE: shared/redis-util.js constant PORT (line 30) | const PORT = config.redis.port; constant HOSTNAME (line 31) | const HOSTNAME = config.redis.hostname; constant OPTIONS (line 32) | const OPTIONS = config.redis.options; class MockRedisClient (line 34) | class MockRedisClient extends EventEmitter { method psubscribe (line 35) | psubscribe(name, ...args) { method subscribe (line 38) | subscribe(name, ...args) { method multi (line 41) | multi() { method send_command (line 45) | send_command(name, ...args) { method del (line 48) | del(name, ...args) { method publish (line 51) | publish(name, ...args) { method zadd (line 54) | zadd(name, ...args) { method zrem (line 57) | zrem(name, ...args) { method hget (line 60) | hget(name, ...args) { method hset (line 63) | hset(name, ...args) { method set (line 66) | set(name, ...args) { method expire (line 69) | expire(name, ...args) { method exec (line 72) | exec() { FILE: shared/silent.js function silent (line 24) | function silent(messageRegex, next) { FILE: shared/stackdriver/index.js function reportError (line 33) | function reportError(label, message) { function writeLog (line 40) | function writeLog(level, label, args) { FILE: shared/stdio-messenger.js class StdioMessenger (line 27) | class StdioMessenger extends OnlineOffline { method constructor (line 28) | constructor() { method setReadStream (line 39) | setReadStream(stream) { method setWriteStream (line 48) | setWriteStream(stream) { method sendMessage (line 55) | sendMessage(name, content) { method _flush (line 60) | _flush() { method _handleData (line 69) | _handleData(data) { FILE: shared/time-limit.js function timeLimit (line 24) | function timeLimit(milliseconds, defaults, callback) { FILE: utils-admin/bin/server.js function normalizePort (line 57) | function normalizePort(val) { function onError (line 75) | function onError(error) { function onListening (line 101) | function onListening() { FILE: utils-admin/routes/users.js function randomString (line 35) | function randomString(length) { FILE: utils-admin/src/db.js function connect (line 26) | async function connect(url, dbName) { function close (line 32) | async function close() { function find (line 36) | async function find(collectionName, query) { function findById (line 41) | async function findById(collectionName, id) { function findAll (line 52) | function findAll(collectionName, query, projection) { function updateById (line 58) | async function updateById(collectionName, id, update) { function replaceById (line 65) | async function replaceById(collectionName, id, newDoc) { function createDocument (line 72) | async function createDocument(collectionName, newDoc) { FILE: utils-admin/src/repo.js function deleteRepo (line 25) | async function deleteRepo(user) { FILE: utils-auth/app.js constant SOCKET_PATH (line 33) | const SOCKET_PATH = "/var/run/oosocks/auth.sock"; function prompt (line 123) | function prompt(res, message) {