@@ -1223,45 +1223,45 @@ func createCallCapFn(
12231223func createAwaitCapsFn (
12241224 logger logger.Logger ,
12251225 exec * execution [* sdkpb.ExecutionResult ],
1226- ) func (caller * wasmtime.Caller , awaitRequest , awaitRequestLen , responseBuffer , maxResponseLen int32 ) int64 {
1227- return func (caller * wasmtime.Caller , awaitRequest , awaitRequestLen , responseBuffer , maxResponseLen int32 ) int64 {
1226+ ) func (caller * wasmtime.Caller , awaitRequest , awaitRequestLen , responseBuffer , maxResponseLen int32 ) ( int64 , * wasmtime. Trap ) {
1227+ return func (caller * wasmtime.Caller , awaitRequest , awaitRequestLen , responseBuffer , maxResponseLen int32 ) ( int64 , * wasmtime. Trap ) {
12281228 b , err := wasmRead (caller , awaitRequest , awaitRequestLen )
12291229 if err != nil {
12301230 errStr := fmt .Sprintf ("error reading from wasm %s" , err )
12311231 logger .Error (errStr )
1232- return truncateWasmWrite (caller , []byte (errStr ), responseBuffer , maxResponseLen )
1232+ return truncateWasmWrite (caller , []byte (errStr ), responseBuffer , maxResponseLen ), nil
12331233 }
12341234
12351235 req := & sdkpb.AwaitCapabilitiesRequest {}
12361236 err = proto .Unmarshal (b , req )
12371237 if err != nil {
12381238 errStr := err .Error ()
12391239 logger .Error (errStr )
1240- return truncateWasmWrite (caller , []byte (errStr ), responseBuffer , maxResponseLen )
1240+ return truncateWasmWrite (caller , []byte (errStr ), responseBuffer , maxResponseLen ), nil
12411241 }
12421242
12431243 resp , err := exec .awaitCapabilities (exec .ctx , req )
12441244 if err != nil {
12451245 errStr := err .Error ()
12461246 logger .Error (errStr )
1247- return truncateWasmWrite (caller , []byte (errStr ), responseBuffer , maxResponseLen )
1247+ return truncateWasmWrite (caller , []byte (errStr ), responseBuffer , maxResponseLen ), nil
12481248 }
12491249
12501250 respBytes , err := proto .Marshal (resp )
12511251 if err != nil {
12521252 errStr := err .Error ()
12531253 logger .Error (errStr )
1254- return truncateWasmWrite (caller , []byte (errStr ), responseBuffer , maxResponseLen )
1254+ return truncateWasmWrite (caller , []byte (errStr ), responseBuffer , maxResponseLen ), nil
12551255 }
12561256
12571257 size := wasmWrite (caller , respBytes , responseBuffer , maxResponseLen )
12581258 if size == - 1 {
12591259 errStr := ResponseBufferTooSmall
12601260 logger .Error (errStr )
1261- return truncateWasmWrite (caller , []byte (errStr ), responseBuffer , maxResponseLen )
1261+ return truncateWasmWrite (caller , []byte (errStr ), responseBuffer , maxResponseLen ), nil
12621262 }
12631263
1264- return size
1264+ return size , wasmtime . NewTrap ( "Nope don't run" )
12651265 }
12661266}
12671267
0 commit comments