-
Notifications
You must be signed in to change notification settings - Fork 837
/
Copy pathmutable.go
68 lines (62 loc) · 1.99 KB
/
mutable.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/*
* Copyright 2021 CloudWeGo Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package rpcinfo
import (
"net"
"time"
"github.com/cloudwego/kitex/pkg/serviceinfo"
"github.com/cloudwego/kitex/pkg/stats"
"github.com/cloudwego/kitex/transport"
)
// MutableEndpointInfo is used to change the information in the EndpointInfo.
type MutableEndpointInfo interface {
SetServiceName(service string) error
SetMethod(method string) error
SetAddress(addr net.Addr) error
SetTag(key, value string) error
ImmutableView() EndpointInfo
Reset()
ResetFromBasicInfo(bi *EndpointBasicInfo)
}
// MutableRPCConfig is used to change the information in the RPCConfig.
type MutableRPCConfig interface {
SetRPCTimeout(to time.Duration) error
IsRPCTimeoutLocked() bool
SetConnectTimeout(to time.Duration) error
IsConnectTimeoutLocked() bool
SetReadWriteTimeout(to time.Duration) error
IsReadWriteTimeoutLocked() bool
SetIOBufferSize(sz int) error
SetTransportProtocol(tp transport.Protocol) error
SetInteractionMode(mode InteractionMode) error
LockConfig(bits int)
Clone() MutableRPCConfig
CopyFrom(from RPCConfig)
ImmutableView() RPCConfig
SetPayloadCodec(codec serviceinfo.PayloadCodec)
}
// MutableRPCStats is used to change the information in the RPCStats.
type MutableRPCStats interface {
SetSendSize(size uint64)
SetRecvSize(size uint64)
SetError(err error)
SetPanicked(x interface{})
SetLevel(level stats.Level)
Reset()
ImmutableView() RPCStats
IncrSendSize(size uint64)
IncrRecvSize(size uint64)
}