1 | import { ISignal } from '@lumino/signaling';
|
2 | import { Kernel, KernelMessage } from '../kernel';
|
3 | import { ServerConnection } from '..';
|
4 | import * as Session from './session';
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 | export declare class SessionConnection implements Session.ISessionConnection {
|
11 | |
12 |
|
13 |
|
14 | constructor(options: Session.ISessionConnection.IOptions);
|
15 | /**
|
16 | * A signal emitted when the session is disposed.
|
17 | */
|
18 | get disposed(): ISignal<this, void>;
|
19 | /**
|
20 | * A signal emitted when the kernel changes.
|
21 | */
|
22 | get kernelChanged(): ISignal<this, Session.ISessionConnection.IKernelChangedArgs>;
|
23 | /**
|
24 | * A signal proxied from the connection about the kernel status.
|
25 | */
|
26 | get statusChanged(): ISignal<this, Kernel.Status>;
|
27 | /**
|
28 | * A signal proxied from the kernel about the connection status.
|
29 | */
|
30 | get connectionStatusChanged(): ISignal<this, Kernel.ConnectionStatus>;
|
31 | /**
|
32 | * A signal proxied from the kernel pending input.
|
33 | */
|
34 | get pendingInput(): ISignal<this, boolean>;
|
35 | /**
|
36 | * A signal proxied from the kernel about iopub kernel messages.
|
37 | */
|
38 | get iopubMessage(): ISignal<this, KernelMessage.IIOPubMessage>;
|
39 | /**
|
40 | * A signal proxied from the kernel for an unhandled kernel message.
|
41 | */
|
42 | get unhandledMessage(): ISignal<this, KernelMessage.IMessage>;
|
43 | /**
|
44 | * A signal proxied from the kernel emitted for any kernel message.
|
45 | *
|
46 | * #### Notes
|
47 | * The behavior is undefined if the message is modified during message
|
48 | * handling. As such, it should be treated as read-only.
|
49 | */
|
50 | get anyMessage(): ISignal<this, Kernel.IAnyMessageArgs>;
|
51 | /**
|
52 | * A signal emitted when a session property changes.
|
53 | */
|
54 | get propertyChanged(): ISignal<this, 'path' | 'name' | 'type'>;
|
55 | /**
|
56 | * Get the session id.
|
57 | */
|
58 | get id(): string;
|
59 | /**
|
60 | * Get the session kernel connection object.
|
61 | *
|
62 | * #### Notes
|
63 | * This is a read-only property, and can be altered by [changeKernel].
|
64 | */
|
65 | get kernel(): Kernel.IKernelConnection | null;
|
66 | /**
|
67 | * Get the session path.
|
68 | */
|
69 | get path(): string;
|
70 | /**
|
71 | * Get the session type.
|
72 | */
|
73 | get type(): string;
|
74 | /**
|
75 | * Get the session name.
|
76 | */
|
77 | get name(): string;
|
78 | /**
|
79 | * Get the model associated with the session.
|
80 | */
|
81 | get model(): Session.IModel;
|
82 | /**
|
83 | * The server settings of the session.
|
84 | */
|
85 | readonly serverSettings: ServerConnection.ISettings;
|
86 | /**
|
87 | * Test whether the session has been disposed.
|
88 | */
|
89 | get isDisposed(): boolean;
|
90 | /**
|
91 | * Update the session based on a session model from the server.
|
92 | *
|
93 | * #### Notes
|
94 | * This only updates this session connection instance. Use `setPath`,
|
95 | * `setName`, `setType`, and `changeKernel` to change the session values on
|
96 | * the server.
|
97 | */
|
98 | update(model: Session.IModel): void;
|
99 | /**
|
100 | * Dispose of the resources held by the session.
|
101 | */
|
102 | dispose(): void;
|
103 | /**
|
104 | * Change the session path.
|
105 | *
|
106 | * @param path - The new session path.
|
107 | *
|
108 | * @returns A promise that resolves when the session has renamed.
|
109 | *
|
110 | * #### Notes
|
111 | * This uses the Jupyter REST API, and the response is validated.
|
112 | * The promise is fulfilled on a valid response and rejected otherwise.
|
113 | */
|
114 | setPath(path: string): Promise<void>;
|
115 | /**
|
116 | * Change the session name.
|
117 | */
|
118 | setName(name: string): Promise<void>;
|
119 | /**
|
120 | * Change the session type.
|
121 | */
|
122 | setType(type: string): Promise<void>;
|
123 | /**
|
124 | * Change the kernel.
|
125 | *
|
126 | * @param options - The name or id of the new kernel.
|
127 | *
|
128 | * #### Notes
|
129 | * This shuts down the existing kernel and creates a new kernel,
|
130 | * keeping the existing session ID and session path.
|
131 | */
|
132 | changeKernel(options: Partial<Kernel.IModel>): Promise<Kernel.IKernelConnection | null>;
|
133 | /**
|
134 | * Kill the kernel and shutdown the session.
|
135 | *
|
136 | * @returns - The promise fulfilled on a valid response from the server.
|
137 | *
|
138 | * #### Notes
|
139 | * Uses the [Jupyter Server API](https:
|
140 | * Disposes of the session and emits a [sessionDied] signal on success.
|
141 | */
|
142 | shutdown(): Promise<void>;
|
143 | |
144 |
|
145 |
|
146 |
|
147 |
|
148 |
|
149 | protected setupKernel(model: Kernel.IModel | null): void;
|
150 | |
151 |
|
152 |
|
153 | protected onKernelStatus(sender: Kernel.IKernelConnection, state: Kernel.Status): void;
|
154 | |
155 |
|
156 |
|
157 | protected onKernelConnectionStatus(sender: Kernel.IKernelConnection, state: Kernel.ConnectionStatus): void;
|
158 | |
159 |
|
160 |
|
161 | protected onPendingInput(sender: Kernel.IKernelConnection, state: boolean): void;
|
162 | |
163 |
|
164 |
|
165 | protected onIOPubMessage(sender: Kernel.IKernelConnection, msg: KernelMessage.IIOPubMessage): void;
|
166 | |
167 |
|
168 |
|
169 | protected onUnhandledMessage(sender: Kernel.IKernelConnection, msg: KernelMessage.IMessage): void;
|
170 | |
171 |
|
172 |
|
173 | protected onAnyMessage(sender: Kernel.IKernelConnection, args: Kernel.IAnyMessageArgs): void;
|
174 | |
175 |
|
176 |
|
177 | private _patch;
|
178 | |
179 |
|
180 |
|
181 | private _handleModelChange;
|
182 | private _id;
|
183 | private _path;
|
184 | private _name;
|
185 | private _type;
|
186 | private _username;
|
187 | private _clientId;
|
188 | private _kernel;
|
189 | private _isDisposed;
|
190 | private _disposed;
|
191 | private _kernelChanged;
|
192 | private _statusChanged;
|
193 | private _connectionStatusChanged;
|
194 | private _pendingInput;
|
195 | private _iopubMessage;
|
196 | private _unhandledMessage;
|
197 | private _anyMessage;
|
198 | private _propertyChanged;
|
199 | private _connectToKernel;
|
200 | private _kernelConnectionOptions;
|
201 | }
|
202 |
|
\ | No newline at end of file |