Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var File_locker_proto protoreflect.FileDescriptor
var Locker_ServiceDesc = grpc.ServiceDesc{ ServiceName: "ru.softlynx.locker.api.Locker", HandlerType: (*LockerServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "Lock", Handler: _Locker_Lock_Handler, ServerStreams: true, }, { StreamName: "TryLock", Handler: _Locker_TryLock_Handler, ServerStreams: true, }, }, Metadata: "locker.proto", }
Locker_ServiceDesc is the grpc.ServiceDesc for Locker service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
Functions ¶
func RegisterLockerServer ¶
func RegisterLockerServer(s grpc.ServiceRegistrar, srv LockerServer)
Types ¶
type Entity ¶
type Entity struct { // идентификатор владения Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // contains filtered or unexported fields }
func (*Entity) Descriptor
deprecated
func (*Entity) ProtoMessage ¶
func (*Entity) ProtoMessage()
func (*Entity) ProtoReflect ¶
func (x *Entity) ProtoReflect() protoreflect.Message
type LockerClient ¶
type LockerClient interface { // Запрашивает блокировку имени Entity.name, как только она будет получена возвращает Entity и владеет именем до отмены вызова клиентом Lock(ctx context.Context, in *Entity, opts ...grpc.CallOption) (Locker_LockClient, error) // Запрашивает блокировку имени Entity.name, если она будет получена возвращает Entity и владеет именем до отмены вызова клиентом // либо возвращает пустой поток если получить блокировку не удалось TryLock(ctx context.Context, in *Entity, opts ...grpc.CallOption) (Locker_TryLockClient, error) }
LockerClient is the client API for Locker service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
func NewLockerClient ¶
func NewLockerClient(cc grpc.ClientConnInterface) LockerClient
type LockerServer ¶
type LockerServer interface { // Запрашивает блокировку имени Entity.name, как только она будет получена возвращает Entity и владеет именем до отмены вызова клиентом Lock(*Entity, Locker_LockServer) error // Запрашивает блокировку имени Entity.name, если она будет получена возвращает Entity и владеет именем до отмены вызова клиентом // либо возвращает пустой поток если получить блокировку не удалось TryLock(*Entity, Locker_TryLockServer) error }
LockerServer is the server API for Locker service. All implementations should embed UnimplementedLockerServer for forward compatibility
type Locker_LockClient ¶
type Locker_LockClient interface { Recv() (*Entity, error) grpc.ClientStream }
type Locker_LockServer ¶
type Locker_LockServer interface { Send(*Entity) error grpc.ServerStream }
type Locker_TryLockClient ¶
type Locker_TryLockClient interface { Recv() (*Entity, error) grpc.ClientStream }
type Locker_TryLockServer ¶
type Locker_TryLockServer interface { Send(*Entity) error grpc.ServerStream }
type UnimplementedLockerServer ¶
type UnimplementedLockerServer struct { }
UnimplementedLockerServer should be embedded to have forward compatible implementations.
func (UnimplementedLockerServer) Lock ¶
func (UnimplementedLockerServer) Lock(*Entity, Locker_LockServer) error
func (UnimplementedLockerServer) TryLock ¶
func (UnimplementedLockerServer) TryLock(*Entity, Locker_TryLockServer) error
type UnsafeLockerServer ¶
type UnsafeLockerServer interface {
// contains filtered or unexported methods
}
UnsafeLockerServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to LockerServer will result in compilation errors.