github.com/polarismesh/polaris@v1.17.8/apiserver/xdsserverv3/hook.go (about) 1 /** 2 * Tencent is pleased to support the open source community by making Polaris available. 3 * 4 * Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved. 5 * 6 * Licensed under the BSD 3-Clause License (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * https://opensource.org/licenses/BSD-3-Clause 11 * 12 * Unless required by applicable law or agreed to in writing, software distributed 13 * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 14 * CONDITIONS OF ANY KIND, either express or implied. See the License for the 15 * specific language governing permissions and limitations under the License. 16 */ 17 18 package xdsserverv3 19 20 import ( 21 "context" 22 23 cachev3 "github.com/envoyproxy/go-control-plane/pkg/cache/v3" 24 "github.com/envoyproxy/go-control-plane/pkg/server/stream/v3" 25 ) 26 27 // OnCreateWatch before call cachev3.SnapshotCache CreateWatch 28 func (x *XDSServer) OnCreateWatch(request *cachev3.Request, streamState stream.StreamState, 29 value chan cachev3.Response) { 30 x.activeUpdateTask() 31 } 32 33 // OnCreateDeltaWatch before call cachev3.SnapshotCache OnCreateDeltaWatch 34 func (x *XDSServer) OnCreateDeltaWatch(request *cachev3.DeltaRequest, state stream.StreamState, 35 value chan cachev3.DeltaResponse) { 36 x.activeUpdateTask() 37 } 38 39 // OnFetch before call cachev3.SnapshotCache OnFetch 40 func (x *XDSServer) OnFetch(ctx context.Context, request *cachev3.Request) { 41 x.activeUpdateTask() 42 }