// Code generated by protoc-gen-go-grpc. DO NOT EDIT.

package apiproto

import (
	context "context"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
)

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7

// CentrifugoApiClient is the client API for CentrifugoApi 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.
type CentrifugoApiClient interface {
	Publish(ctx context.Context, in *PublishRequest, opts ...grpc.CallOption) (*PublishResponse, error)
	Broadcast(ctx context.Context, in *BroadcastRequest, opts ...grpc.CallOption) (*BroadcastResponse, error)
	Subscribe(ctx context.Context, in *SubscribeRequest, opts ...grpc.CallOption) (*SubscribeResponse, error)
	Unsubscribe(ctx context.Context, in *UnsubscribeRequest, opts ...grpc.CallOption) (*UnsubscribeResponse, error)
	Disconnect(ctx context.Context, in *DisconnectRequest, opts ...grpc.CallOption) (*DisconnectResponse, error)
	Presence(ctx context.Context, in *PresenceRequest, opts ...grpc.CallOption) (*PresenceResponse, error)
	PresenceStats(ctx context.Context, in *PresenceStatsRequest, opts ...grpc.CallOption) (*PresenceStatsResponse, error)
	History(ctx context.Context, in *HistoryRequest, opts ...grpc.CallOption) (*HistoryResponse, error)
	HistoryRemove(ctx context.Context, in *HistoryRemoveRequest, opts ...grpc.CallOption) (*HistoryRemoveResponse, error)
	Info(ctx context.Context, in *InfoRequest, opts ...grpc.CallOption) (*InfoResponse, error)
	RPC(ctx context.Context, in *RPCRequest, opts ...grpc.CallOption) (*RPCResponse, error)
	Refresh(ctx context.Context, in *RefreshRequest, opts ...grpc.CallOption) (*RefreshResponse, error)
	Channels(ctx context.Context, in *ChannelsRequest, opts ...grpc.CallOption) (*ChannelsResponse, error)
	Connections(ctx context.Context, in *ConnectionsRequest, opts ...grpc.CallOption) (*ConnectionsResponse, error)
	UpdateUserStatus(ctx context.Context, in *UpdateUserStatusRequest, opts ...grpc.CallOption) (*UpdateUserStatusResponse, error)
	GetUserStatus(ctx context.Context, in *GetUserStatusRequest, opts ...grpc.CallOption) (*GetUserStatusResponse, error)
	DeleteUserStatus(ctx context.Context, in *DeleteUserStatusRequest, opts ...grpc.CallOption) (*DeleteUserStatusResponse, error)
	BlockUser(ctx context.Context, in *BlockUserRequest, opts ...grpc.CallOption) (*BlockUserResponse, error)
	UnblockUser(ctx context.Context, in *UnblockUserRequest, opts ...grpc.CallOption) (*UnblockUserResponse, error)
	RevokeToken(ctx context.Context, in *RevokeTokenRequest, opts ...grpc.CallOption) (*RevokeTokenResponse, error)
	InvalidateUserTokens(ctx context.Context, in *InvalidateUserTokensRequest, opts ...grpc.CallOption) (*InvalidateUserTokensResponse, error)
}

type centrifugoApiClient struct {
	cc grpc.ClientConnInterface
}

func NewCentrifugoApiClient(cc grpc.ClientConnInterface) CentrifugoApiClient {
	return &centrifugoApiClient{cc}
}

func (c *centrifugoApiClient) Publish(ctx context.Context, in *PublishRequest, opts ...grpc.CallOption) (*PublishResponse, error) {
	out := new(PublishResponse)
	err := c.cc.Invoke(ctx, "/centrifugal.centrifugo.api.CentrifugoApi/Publish", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *centrifugoApiClient) Broadcast(ctx context.Context, in *BroadcastRequest, opts ...grpc.CallOption) (*BroadcastResponse, error) {
	out := new(BroadcastResponse)
	err := c.cc.Invoke(ctx, "/centrifugal.centrifugo.api.CentrifugoApi/Broadcast", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *centrifugoApiClient) Subscribe(ctx context.Context, in *SubscribeRequest, opts ...grpc.CallOption) (*SubscribeResponse, error) {
	out := new(SubscribeResponse)
	err := c.cc.Invoke(ctx, "/centrifugal.centrifugo.api.CentrifugoApi/Subscribe", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *centrifugoApiClient) Unsubscribe(ctx context.Context, in *UnsubscribeRequest, opts ...grpc.CallOption) (*UnsubscribeResponse, error) {
	out := new(UnsubscribeResponse)
	err := c.cc.Invoke(ctx, "/centrifugal.centrifugo.api.CentrifugoApi/Unsubscribe", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *centrifugoApiClient) Disconnect(ctx context.Context, in *DisconnectRequest, opts ...grpc.CallOption) (*DisconnectResponse, error) {
	out := new(DisconnectResponse)
	err := c.cc.Invoke(ctx, "/centrifugal.centrifugo.api.CentrifugoApi/Disconnect", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *centrifugoApiClient) Presence(ctx context.Context, in *PresenceRequest, opts ...grpc.CallOption) (*PresenceResponse, error) {
	out := new(PresenceResponse)
	err := c.cc.Invoke(ctx, "/centrifugal.centrifugo.api.CentrifugoApi/Presence", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *centrifugoApiClient) PresenceStats(ctx context.Context, in *PresenceStatsRequest, opts ...grpc.CallOption) (*PresenceStatsResponse, error) {
	out := new(PresenceStatsResponse)
	err := c.cc.Invoke(ctx, "/centrifugal.centrifugo.api.CentrifugoApi/PresenceStats", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *centrifugoApiClient) History(ctx context.Context, in *HistoryRequest, opts ...grpc.CallOption) (*HistoryResponse, error) {
	out := new(HistoryResponse)
	err := c.cc.Invoke(ctx, "/centrifugal.centrifugo.api.CentrifugoApi/History", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *centrifugoApiClient) HistoryRemove(ctx context.Context, in *HistoryRemoveRequest, opts ...grpc.CallOption) (*HistoryRemoveResponse, error) {
	out := new(HistoryRemoveResponse)
	err := c.cc.Invoke(ctx, "/centrifugal.centrifugo.api.CentrifugoApi/HistoryRemove", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *centrifugoApiClient) Info(ctx context.Context, in *InfoRequest, opts ...grpc.CallOption) (*InfoResponse, error) {
	out := new(InfoResponse)
	err := c.cc.Invoke(ctx, "/centrifugal.centrifugo.api.CentrifugoApi/Info", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *centrifugoApiClient) RPC(ctx context.Context, in *RPCRequest, opts ...grpc.CallOption) (*RPCResponse, error) {
	out := new(RPCResponse)
	err := c.cc.Invoke(ctx, "/centrifugal.centrifugo.api.CentrifugoApi/RPC", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *centrifugoApiClient) Refresh(ctx context.Context, in *RefreshRequest, opts ...grpc.CallOption) (*RefreshResponse, error) {
	out := new(RefreshResponse)
	err := c.cc.Invoke(ctx, "/centrifugal.centrifugo.api.CentrifugoApi/Refresh", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *centrifugoApiClient) Channels(ctx context.Context, in *ChannelsRequest, opts ...grpc.CallOption) (*ChannelsResponse, error) {
	out := new(ChannelsResponse)
	err := c.cc.Invoke(ctx, "/centrifugal.centrifugo.api.CentrifugoApi/Channels", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *centrifugoApiClient) Connections(ctx context.Context, in *ConnectionsRequest, opts ...grpc.CallOption) (*ConnectionsResponse, error) {
	out := new(ConnectionsResponse)
	err := c.cc.Invoke(ctx, "/centrifugal.centrifugo.api.CentrifugoApi/Connections", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *centrifugoApiClient) UpdateUserStatus(ctx context.Context, in *UpdateUserStatusRequest, opts ...grpc.CallOption) (*UpdateUserStatusResponse, error) {
	out := new(UpdateUserStatusResponse)
	err := c.cc.Invoke(ctx, "/centrifugal.centrifugo.api.CentrifugoApi/UpdateUserStatus", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *centrifugoApiClient) GetUserStatus(ctx context.Context, in *GetUserStatusRequest, opts ...grpc.CallOption) (*GetUserStatusResponse, error) {
	out := new(GetUserStatusResponse)
	err := c.cc.Invoke(ctx, "/centrifugal.centrifugo.api.CentrifugoApi/GetUserStatus", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *centrifugoApiClient) DeleteUserStatus(ctx context.Context, in *DeleteUserStatusRequest, opts ...grpc.CallOption) (*DeleteUserStatusResponse, error) {
	out := new(DeleteUserStatusResponse)
	err := c.cc.Invoke(ctx, "/centrifugal.centrifugo.api.CentrifugoApi/DeleteUserStatus", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *centrifugoApiClient) BlockUser(ctx context.Context, in *BlockUserRequest, opts ...grpc.CallOption) (*BlockUserResponse, error) {
	out := new(BlockUserResponse)
	err := c.cc.Invoke(ctx, "/centrifugal.centrifugo.api.CentrifugoApi/BlockUser", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *centrifugoApiClient) UnblockUser(ctx context.Context, in *UnblockUserRequest, opts ...grpc.CallOption) (*UnblockUserResponse, error) {
	out := new(UnblockUserResponse)
	err := c.cc.Invoke(ctx, "/centrifugal.centrifugo.api.CentrifugoApi/UnblockUser", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *centrifugoApiClient) RevokeToken(ctx context.Context, in *RevokeTokenRequest, opts ...grpc.CallOption) (*RevokeTokenResponse, error) {
	out := new(RevokeTokenResponse)
	err := c.cc.Invoke(ctx, "/centrifugal.centrifugo.api.CentrifugoApi/RevokeToken", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *centrifugoApiClient) InvalidateUserTokens(ctx context.Context, in *InvalidateUserTokensRequest, opts ...grpc.CallOption) (*InvalidateUserTokensResponse, error) {
	out := new(InvalidateUserTokensResponse)
	err := c.cc.Invoke(ctx, "/centrifugal.centrifugo.api.CentrifugoApi/InvalidateUserTokens", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// CentrifugoApiServer is the server API for CentrifugoApi service.
// All implementations must embed UnimplementedCentrifugoApiServer
// for forward compatibility
type CentrifugoApiServer interface {
	Publish(context.Context, *PublishRequest) (*PublishResponse, error)
	Broadcast(context.Context, *BroadcastRequest) (*BroadcastResponse, error)
	Subscribe(context.Context, *SubscribeRequest) (*SubscribeResponse, error)
	Unsubscribe(context.Context, *UnsubscribeRequest) (*UnsubscribeResponse, error)
	Disconnect(context.Context, *DisconnectRequest) (*DisconnectResponse, error)
	Presence(context.Context, *PresenceRequest) (*PresenceResponse, error)
	PresenceStats(context.Context, *PresenceStatsRequest) (*PresenceStatsResponse, error)
	History(context.Context, *HistoryRequest) (*HistoryResponse, error)
	HistoryRemove(context.Context, *HistoryRemoveRequest) (*HistoryRemoveResponse, error)
	Info(context.Context, *InfoRequest) (*InfoResponse, error)
	RPC(context.Context, *RPCRequest) (*RPCResponse, error)
	Refresh(context.Context, *RefreshRequest) (*RefreshResponse, error)
	Channels(context.Context, *ChannelsRequest) (*ChannelsResponse, error)
	Connections(context.Context, *ConnectionsRequest) (*ConnectionsResponse, error)
	UpdateUserStatus(context.Context, *UpdateUserStatusRequest) (*UpdateUserStatusResponse, error)
	GetUserStatus(context.Context, *GetUserStatusRequest) (*GetUserStatusResponse, error)
	DeleteUserStatus(context.Context, *DeleteUserStatusRequest) (*DeleteUserStatusResponse, error)
	BlockUser(context.Context, *BlockUserRequest) (*BlockUserResponse, error)
	UnblockUser(context.Context, *UnblockUserRequest) (*UnblockUserResponse, error)
	RevokeToken(context.Context, *RevokeTokenRequest) (*RevokeTokenResponse, error)
	InvalidateUserTokens(context.Context, *InvalidateUserTokensRequest) (*InvalidateUserTokensResponse, error)
	mustEmbedUnimplementedCentrifugoApiServer()
}

// UnimplementedCentrifugoApiServer must be embedded to have forward compatible implementations.
type UnimplementedCentrifugoApiServer struct {
}

func (UnimplementedCentrifugoApiServer) Publish(context.Context, *PublishRequest) (*PublishResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Publish not implemented")
}
func (UnimplementedCentrifugoApiServer) Broadcast(context.Context, *BroadcastRequest) (*BroadcastResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Broadcast not implemented")
}
func (UnimplementedCentrifugoApiServer) Subscribe(context.Context, *SubscribeRequest) (*SubscribeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Subscribe not implemented")
}
func (UnimplementedCentrifugoApiServer) Unsubscribe(context.Context, *UnsubscribeRequest) (*UnsubscribeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Unsubscribe not implemented")
}
func (UnimplementedCentrifugoApiServer) Disconnect(context.Context, *DisconnectRequest) (*DisconnectResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Disconnect not implemented")
}
func (UnimplementedCentrifugoApiServer) Presence(context.Context, *PresenceRequest) (*PresenceResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Presence not implemented")
}
func (UnimplementedCentrifugoApiServer) PresenceStats(context.Context, *PresenceStatsRequest) (*PresenceStatsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PresenceStats not implemented")
}
func (UnimplementedCentrifugoApiServer) History(context.Context, *HistoryRequest) (*HistoryResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method History not implemented")
}
func (UnimplementedCentrifugoApiServer) HistoryRemove(context.Context, *HistoryRemoveRequest) (*HistoryRemoveResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method HistoryRemove not implemented")
}
func (UnimplementedCentrifugoApiServer) Info(context.Context, *InfoRequest) (*InfoResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Info not implemented")
}
func (UnimplementedCentrifugoApiServer) RPC(context.Context, *RPCRequest) (*RPCResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RPC not implemented")
}
func (UnimplementedCentrifugoApiServer) Refresh(context.Context, *RefreshRequest) (*RefreshResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Refresh not implemented")
}
func (UnimplementedCentrifugoApiServer) Channels(context.Context, *ChannelsRequest) (*ChannelsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Channels not implemented")
}
func (UnimplementedCentrifugoApiServer) Connections(context.Context, *ConnectionsRequest) (*ConnectionsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Connections not implemented")
}
func (UnimplementedCentrifugoApiServer) UpdateUserStatus(context.Context, *UpdateUserStatusRequest) (*UpdateUserStatusResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateUserStatus not implemented")
}
func (UnimplementedCentrifugoApiServer) GetUserStatus(context.Context, *GetUserStatusRequest) (*GetUserStatusResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetUserStatus not implemented")
}
func (UnimplementedCentrifugoApiServer) DeleteUserStatus(context.Context, *DeleteUserStatusRequest) (*DeleteUserStatusResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteUserStatus not implemented")
}
func (UnimplementedCentrifugoApiServer) BlockUser(context.Context, *BlockUserRequest) (*BlockUserResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method BlockUser not implemented")
}
func (UnimplementedCentrifugoApiServer) UnblockUser(context.Context, *UnblockUserRequest) (*UnblockUserResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UnblockUser not implemented")
}
func (UnimplementedCentrifugoApiServer) RevokeToken(context.Context, *RevokeTokenRequest) (*RevokeTokenResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RevokeToken not implemented")
}
func (UnimplementedCentrifugoApiServer) InvalidateUserTokens(context.Context, *InvalidateUserTokensRequest) (*InvalidateUserTokensResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method InvalidateUserTokens not implemented")
}
func (UnimplementedCentrifugoApiServer) mustEmbedUnimplementedCentrifugoApiServer() {}

// UnsafeCentrifugoApiServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to CentrifugoApiServer will
// result in compilation errors.
type UnsafeCentrifugoApiServer interface {
	mustEmbedUnimplementedCentrifugoApiServer()
}

func RegisterCentrifugoApiServer(s grpc.ServiceRegistrar, srv CentrifugoApiServer) {
	s.RegisterService(&CentrifugoApi_ServiceDesc, srv)
}

func _CentrifugoApi_Publish_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PublishRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CentrifugoApiServer).Publish(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/centrifugal.centrifugo.api.CentrifugoApi/Publish",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CentrifugoApiServer).Publish(ctx, req.(*PublishRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CentrifugoApi_Broadcast_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(BroadcastRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CentrifugoApiServer).Broadcast(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/centrifugal.centrifugo.api.CentrifugoApi/Broadcast",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CentrifugoApiServer).Broadcast(ctx, req.(*BroadcastRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CentrifugoApi_Subscribe_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SubscribeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CentrifugoApiServer).Subscribe(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/centrifugal.centrifugo.api.CentrifugoApi/Subscribe",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CentrifugoApiServer).Subscribe(ctx, req.(*SubscribeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CentrifugoApi_Unsubscribe_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UnsubscribeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CentrifugoApiServer).Unsubscribe(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/centrifugal.centrifugo.api.CentrifugoApi/Unsubscribe",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CentrifugoApiServer).Unsubscribe(ctx, req.(*UnsubscribeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CentrifugoApi_Disconnect_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DisconnectRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CentrifugoApiServer).Disconnect(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/centrifugal.centrifugo.api.CentrifugoApi/Disconnect",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CentrifugoApiServer).Disconnect(ctx, req.(*DisconnectRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CentrifugoApi_Presence_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PresenceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CentrifugoApiServer).Presence(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/centrifugal.centrifugo.api.CentrifugoApi/Presence",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CentrifugoApiServer).Presence(ctx, req.(*PresenceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CentrifugoApi_PresenceStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PresenceStatsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CentrifugoApiServer).PresenceStats(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/centrifugal.centrifugo.api.CentrifugoApi/PresenceStats",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CentrifugoApiServer).PresenceStats(ctx, req.(*PresenceStatsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CentrifugoApi_History_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(HistoryRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CentrifugoApiServer).History(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/centrifugal.centrifugo.api.CentrifugoApi/History",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CentrifugoApiServer).History(ctx, req.(*HistoryRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CentrifugoApi_HistoryRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(HistoryRemoveRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CentrifugoApiServer).HistoryRemove(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/centrifugal.centrifugo.api.CentrifugoApi/HistoryRemove",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CentrifugoApiServer).HistoryRemove(ctx, req.(*HistoryRemoveRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CentrifugoApi_Info_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(InfoRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CentrifugoApiServer).Info(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/centrifugal.centrifugo.api.CentrifugoApi/Info",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CentrifugoApiServer).Info(ctx, req.(*InfoRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CentrifugoApi_RPC_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RPCRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CentrifugoApiServer).RPC(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/centrifugal.centrifugo.api.CentrifugoApi/RPC",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CentrifugoApiServer).RPC(ctx, req.(*RPCRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CentrifugoApi_Refresh_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RefreshRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CentrifugoApiServer).Refresh(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/centrifugal.centrifugo.api.CentrifugoApi/Refresh",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CentrifugoApiServer).Refresh(ctx, req.(*RefreshRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CentrifugoApi_Channels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ChannelsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CentrifugoApiServer).Channels(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/centrifugal.centrifugo.api.CentrifugoApi/Channels",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CentrifugoApiServer).Channels(ctx, req.(*ChannelsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CentrifugoApi_Connections_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ConnectionsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CentrifugoApiServer).Connections(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/centrifugal.centrifugo.api.CentrifugoApi/Connections",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CentrifugoApiServer).Connections(ctx, req.(*ConnectionsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CentrifugoApi_UpdateUserStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateUserStatusRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CentrifugoApiServer).UpdateUserStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/centrifugal.centrifugo.api.CentrifugoApi/UpdateUserStatus",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CentrifugoApiServer).UpdateUserStatus(ctx, req.(*UpdateUserStatusRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CentrifugoApi_GetUserStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetUserStatusRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CentrifugoApiServer).GetUserStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/centrifugal.centrifugo.api.CentrifugoApi/GetUserStatus",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CentrifugoApiServer).GetUserStatus(ctx, req.(*GetUserStatusRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CentrifugoApi_DeleteUserStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteUserStatusRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CentrifugoApiServer).DeleteUserStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/centrifugal.centrifugo.api.CentrifugoApi/DeleteUserStatus",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CentrifugoApiServer).DeleteUserStatus(ctx, req.(*DeleteUserStatusRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CentrifugoApi_BlockUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(BlockUserRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CentrifugoApiServer).BlockUser(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/centrifugal.centrifugo.api.CentrifugoApi/BlockUser",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CentrifugoApiServer).BlockUser(ctx, req.(*BlockUserRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CentrifugoApi_UnblockUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UnblockUserRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CentrifugoApiServer).UnblockUser(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/centrifugal.centrifugo.api.CentrifugoApi/UnblockUser",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CentrifugoApiServer).UnblockUser(ctx, req.(*UnblockUserRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CentrifugoApi_RevokeToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RevokeTokenRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CentrifugoApiServer).RevokeToken(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/centrifugal.centrifugo.api.CentrifugoApi/RevokeToken",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CentrifugoApiServer).RevokeToken(ctx, req.(*RevokeTokenRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CentrifugoApi_InvalidateUserTokens_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(InvalidateUserTokensRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CentrifugoApiServer).InvalidateUserTokens(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/centrifugal.centrifugo.api.CentrifugoApi/InvalidateUserTokens",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CentrifugoApiServer).InvalidateUserTokens(ctx, req.(*InvalidateUserTokensRequest))
	}
	return interceptor(ctx, in, info, handler)
}

// CentrifugoApi_ServiceDesc is the grpc.ServiceDesc for CentrifugoApi service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var CentrifugoApi_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "centrifugal.centrifugo.api.CentrifugoApi",
	HandlerType: (*CentrifugoApiServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Publish",
			Handler:    _CentrifugoApi_Publish_Handler,
		},
		{
			MethodName: "Broadcast",
			Handler:    _CentrifugoApi_Broadcast_Handler,
		},
		{
			MethodName: "Subscribe",
			Handler:    _CentrifugoApi_Subscribe_Handler,
		},
		{
			MethodName: "Unsubscribe",
			Handler:    _CentrifugoApi_Unsubscribe_Handler,
		},
		{
			MethodName: "Disconnect",
			Handler:    _CentrifugoApi_Disconnect_Handler,
		},
		{
			MethodName: "Presence",
			Handler:    _CentrifugoApi_Presence_Handler,
		},
		{
			MethodName: "PresenceStats",
			Handler:    _CentrifugoApi_PresenceStats_Handler,
		},
		{
			MethodName: "History",
			Handler:    _CentrifugoApi_History_Handler,
		},
		{
			MethodName: "HistoryRemove",
			Handler:    _CentrifugoApi_HistoryRemove_Handler,
		},
		{
			MethodName: "Info",
			Handler:    _CentrifugoApi_Info_Handler,
		},
		{
			MethodName: "RPC",
			Handler:    _CentrifugoApi_RPC_Handler,
		},
		{
			MethodName: "Refresh",
			Handler:    _CentrifugoApi_Refresh_Handler,
		},
		{
			MethodName: "Channels",
			Handler:    _CentrifugoApi_Channels_Handler,
		},
		{
			MethodName: "Connections",
			Handler:    _CentrifugoApi_Connections_Handler,
		},
		{
			MethodName: "UpdateUserStatus",
			Handler:    _CentrifugoApi_UpdateUserStatus_Handler,
		},
		{
			MethodName: "GetUserStatus",
			Handler:    _CentrifugoApi_GetUserStatus_Handler,
		},
		{
			MethodName: "DeleteUserStatus",
			Handler:    _CentrifugoApi_DeleteUserStatus_Handler,
		},
		{
			MethodName: "BlockUser",
			Handler:    _CentrifugoApi_BlockUser_Handler,
		},
		{
			MethodName: "UnblockUser",
			Handler:    _CentrifugoApi_UnblockUser_Handler,
		},
		{
			MethodName: "RevokeToken",
			Handler:    _CentrifugoApi_RevokeToken_Handler,
		},
		{
			MethodName: "InvalidateUserTokens",
			Handler:    _CentrifugoApi_InvalidateUserTokens_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "api.proto",
}
