@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
29 lines (28 loc) • 1.3 kB
TypeScript
import type { Socket } from './net';
import { DEFAULT_SLICING_PIPELINE } from '../../../core/steps/pipeline/default-pipelines';
import type { PipelineOutput } from '../../../core/steps/pipeline/pipeline';
import type { DeepPartial } from 'ts-essentials';
import type { KnownParser } from '../../../r-bridge/parser';
/**
* Each connection handles a single client, answering to its requests.
* There is no need to construct this class manually, {@link FlowRServer} will do it for you.
*/
export declare class FlowRServerConnection {
private readonly socket;
private readonly parser;
private readonly name;
private readonly logger;
private readonly allowRSessionAccess;
private readonly fileMap;
constructor(socket: Socket, name: string, parser: KnownParser, allowRSessionAccess: boolean);
private currentMessageBuffer;
private handleData;
private handleFileAnalysisRequest;
private sendFileAnalysisResponse;
private createPipelineExecutorForRequest;
private handleSliceRequest;
private handleRepl;
private handleLineageRequest;
private handleQueryRequest;
}
export declare function sanitizeAnalysisResults(results: Partial<PipelineOutput<typeof DEFAULT_SLICING_PIPELINE>>): DeepPartial<PipelineOutput<typeof DEFAULT_SLICING_PIPELINE>>;