wa-lang.org/wazero@v1.0.2/imports/proxywasm/internal/vmstate_test_export.go (about)

     1  // Copyright 2020-2021 Tetrate
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  // http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  //go:build !tinygo
    16  
    17  package internal
    18  
    19  import "wa-lang.org/wazero/imports/proxywasm/types"
    20  
    21  func VMStateReset() {
    22  	// (@mathetake) I assume that the currentState be protected by lock on hostMux
    23  	currentState = &state{
    24  		pluginContexts:    make(map[uint32]*pluginContextState),
    25  		httpContexts:      make(map[uint32]types.HttpContext),
    26  		tcpContexts:       make(map[uint32]types.TcpContext),
    27  		contextIDToRootID: make(map[uint32]uint32),
    28  	}
    29  }
    30  
    31  func VMStateGetActiveContextID() uint32 {
    32  	return currentState.activeContextID
    33  }
    34  
    35  func VMStateSetActiveContextID(contextID uint32) {
    36  	currentState.activeContextID = contextID
    37  }