Skip to content

Commit 9d83db9

Browse files
committed
netpyne-44 Update kernel listener internal state machine
1 parent 9903141 commit 9d83db9

1 file changed

Lines changed: 20 additions & 1 deletion

File tree

webapp/components/NetPyNE.js

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,23 +93,39 @@ class NetPyNE extends React.Component {
9393

9494
// Logic for kernel reinit
9595
const logme = ({ detail: { kernel, type } }) => {
96-
console.log("!!!! EVENT", type)
9796
switch (this.kernelRestartState.state) {
9897
case "restarting":
9998
if (type === "kernel_ready" || type === "kernel_autorestarting") {
99+
console.log("Replaying all commands since the beginning of the session")
100100
replayAll(this.kernelRestartState.kernelID)
101101
this.kernelRestartState = {
102102
state: "idle",
103103
kernelID: undefined
104104
}
105105
}
106106
case "idle":
107+
if (type === "kernel_connected") {
108+
console.log("Kernel is connecting/starting, being init")
109+
this.kernelRestartState = {
110+
state: "init",
111+
kernelID: kernel.id
112+
}
113+
}
107114
if (type === "kernel_restarting") {
115+
console.log("Kernel restart event caught, trying to re-init the current model")
108116
this.kernelRestartState = {
109117
state: "restarting",
110118
kernelID: kernel.id
111119
}
112120
}
121+
case "init":
122+
if (type === "kernel_ready") {
123+
console.log("Kernel properly initialized")
124+
this.kernelRestartState = {
125+
state: "idle",
126+
kernelID: undefined
127+
}
128+
}
113129
}
114130
}
115131
window.addEventListener('kernelstatus', logme)
@@ -143,6 +159,9 @@ class NetPyNE extends React.Component {
143159
<div className={classes.container}>
144160
<div className={classes.topbar}>
145161
<Topbar />
162+
{/* <button onClick={() => {
163+
execPythonMessage("utils.convertToJS(netpyne_geppetto.importCellTemplate(utils.convertToPython('{\"cellArgs\":{},\"fileName\":\"/home/vince/git-repository/metacell/NetPyNE-UI/workspace/cells/FScell.hoc\",\"cellName\":\"FScell\",\"label\":\"CellType1\",\"modFolder\":\"/home/vince/git-repository/metacell/NetPyNE-UI/workspace/mod\",\"importSynMechs\":false,\"compileMod\":false}')))")
164+
}}>CRASH ME</button> */}
146165
</div>
147166
<Box p={1} flex={1} display="flex" alignItems="stretch">
148167
<Grid container spacing={1} className={classes.content} alignItems="stretch">

0 commit comments

Comments
 (0)