Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | 1x 1x 1x 1x 1x 1x 1x 5x 5x 5x 5x 5x 5x 5x 5x 5x 1x 263x 80x 80x 80x 80x 93x 93x 5x 5x 171x 1x 2x 80x 1x 4x | import * as net from "net"; import * as util from "util"; import {Dictionary} from "../dictionary"; import {Logger} from "../logger"; import {IRespCommand} from "../resp/command/resp-command"; import {AbstractRedisToken} from "../resp/protocol/abstract-redis-token"; import {RespSerialize} from "../resp/protocol/resp-serialize"; import {ICmdReq, Session} from "./session"; // Tslint:disable-next-line const resp = require("resp"); export class DefaultSession extends Session { protected logger: Logger = new Logger(module.id); private state: Dictionary<string, string> = new Dictionary(); private name: string = ""; private currentDb: number = 0; private lastCommand: string = ""; constructor(private id: string, private socket: net.Socket) { super(); delete this.commands; this.logger.debug(`constructor() - this.commands is ${this.commands}`); } public getAddress(): string { return util.format( "%s:%d", this.socket.remoteAddress, this.socket.remotePort ); } public getId(): string { return this.id; } public publish(message: AbstractRedisToken<any>): void { // Send the message to the client this.logger.debug(`publish FROM: ${util.inspect(message)}`); const respResponse = new RespSerialize(message).serialize(); this.logger.debug(`publish TO: ${respResponse}`); this.socket.write(Buffer.from(respResponse)); } public close(): void { // Noop } public getValue(key: string) { this.logger.debug(`getValue(${key}: ${this.state.get(key)}`); return this.state.get(key); } public putValue(key: string, value: any): void { this.logger.debug(`putValue(${key}, ${value})`); this.state.put( key, value ); } public removeValue(key: string) { this.logger.debug(`removeValue(${key})`); this.state.remove(key); } public getCurrentDb(): number { return this.currentDb; } public getLastCommand(): string { return this.lastCommand; } public setCurrentDb(db: number): void { this.currentDb = db; } public setLastCommand(cmd: string): void { this.lastCommand = cmd; } public setName(name: string): void { this.name = name; } public getName(): string { return this.name; } } |