api

package
v0.0.0-...-f543ec4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 15, 2023 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Overview

Package api is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Index

Constants

This section is empty.

Variables

View Source
var (
	ScoutVersion_Version_name = map[int32]string{
		0: "MUST_HAVE_ZERO_VALUE",

		1: "PATCH",
	}
	ScoutVersion_Version_value = map[string]int32{
		"MUST_HAVE_ZERO_VALUE": 0,
		"MAJOR":                0,
		"MINOR":                0,
		"PATCH":                1,
	}
)

Enum value maps for ScoutVersion_Version.

View Source
var File_api_rpcscout_proto protoreflect.FileDescriptor
View Source
var ScoutIdentity_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "rpcscout.ScoutIdentity",
	HandlerType: (*ScoutIdentityServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Version",
			Handler:    _ScoutIdentity_Version_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "api/rpcscout.proto",
}

ScoutIdentity_ServiceDesc is the grpc.ServiceDesc for ScoutIdentity service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var Scout_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "rpcscout.Scout",
	HandlerType: (*ScoutServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Ping",
			Handler:    _Scout_Ping_Handler,
		},
		{
			MethodName: "List",
			Handler:    _Scout_List_Handler,
		},
		{
			MethodName: "Delete",
			Handler:    _Scout_Delete_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "StreamData",
			Handler:       _Scout_StreamData_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "api/rpcscout.proto",
}

Scout_ServiceDesc is the grpc.ServiceDesc for Scout service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func RegisterScoutHandler

func RegisterScoutHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error

RegisterScoutHandler registers the http handlers for service Scout to "mux". The handlers forward requests to the grpc endpoint over "conn".

func RegisterScoutHandlerClient

func RegisterScoutHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ScoutClient) error

RegisterScoutHandlerClient registers the http handlers for service Scout to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "ScoutClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "ScoutClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "ScoutClient" to call the correct interceptors.

func RegisterScoutHandlerFromEndpoint

func RegisterScoutHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)

RegisterScoutHandlerFromEndpoint is same as RegisterScoutHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.

func RegisterScoutHandlerServer

func RegisterScoutHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ScoutServer) error

RegisterScoutHandlerServer registers the http handlers for service Scout to "mux". UnaryRPC :call ScoutServer directly. StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterScoutHandlerFromEndpoint instead.

func RegisterScoutIdentityHandler

func RegisterScoutIdentityHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error

RegisterScoutIdentityHandler registers the http handlers for service ScoutIdentity to "mux". The handlers forward requests to the grpc endpoint over "conn".

func RegisterScoutIdentityHandlerClient

func RegisterScoutIdentityHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ScoutIdentityClient) error

RegisterScoutIdentityHandlerClient registers the http handlers for service ScoutIdentity to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "ScoutIdentityClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "ScoutIdentityClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "ScoutIdentityClient" to call the correct interceptors.

func RegisterScoutIdentityHandlerFromEndpoint

func RegisterScoutIdentityHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)

RegisterScoutIdentityHandlerFromEndpoint is same as RegisterScoutIdentityHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.

func RegisterScoutIdentityHandlerServer

func RegisterScoutIdentityHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ScoutIdentityServer) error

RegisterScoutIdentityHandlerServer registers the http handlers for service ScoutIdentity to "mux". UnaryRPC :call ScoutIdentityServer directly. StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterScoutIdentityHandlerFromEndpoint instead.

func RegisterScoutIdentityServer

func RegisterScoutIdentityServer(s grpc.ServiceRegistrar, srv ScoutIdentityServer)

func RegisterScoutServer

func RegisterScoutServer(s grpc.ServiceRegistrar, srv ScoutServer)

Types

type ClientInfo

type ClientInfo struct {

	// Set by the client to be used by the server on response
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Name of the client
	ClientName string `protobuf:"bytes,2,opt,name=client_name,json=clientName,proto3" json:"client_name,omitempty"`
	// Timestamp when the request was sent
	Timestamp *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// contains filtered or unexported fields
}

Used to track information from the client in the logs

func (*ClientInfo) Descriptor deprecated

func (*ClientInfo) Descriptor() ([]byte, []int)

Deprecated: Use ClientInfo.ProtoReflect.Descriptor instead.

func (*ClientInfo) GetClientName

func (x *ClientInfo) GetClientName() string

func (*ClientInfo) GetId

func (x *ClientInfo) GetId() string

func (*ClientInfo) GetTimestamp

func (x *ClientInfo) GetTimestamp() *timestamppb.Timestamp

func (*ClientInfo) ProtoMessage

func (*ClientInfo) ProtoMessage()

func (*ClientInfo) ProtoReflect

func (x *ClientInfo) ProtoReflect() protoreflect.Message

func (*ClientInfo) Reset

func (x *ClientInfo) Reset()

func (*ClientInfo) String

func (x *ClientInfo) String() string

type ScoutClient

ScoutClient is the client API for Scout 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 NewScoutClient

func NewScoutClient(cc grpc.ClientConnInterface) ScoutClient

type ScoutDeleteRequest

type ScoutDeleteRequest struct {

	// Information about the requester
	Client *ClientInfo `protobuf:"bytes,1,opt,name=client,proto3" json:"client,omitempty"`
	// Fake id to delete
	DeleteId string `protobuf:"bytes,2,opt,name=delete_id,json=deleteId,proto3" json:"delete_id,omitempty"`
	// contains filtered or unexported fields
}

func (*ScoutDeleteRequest) Descriptor deprecated

func (*ScoutDeleteRequest) Descriptor() ([]byte, []int)

Deprecated: Use ScoutDeleteRequest.ProtoReflect.Descriptor instead.

func (*ScoutDeleteRequest) GetClient

func (x *ScoutDeleteRequest) GetClient() *ClientInfo

func (*ScoutDeleteRequest) GetDeleteId

func (x *ScoutDeleteRequest) GetDeleteId() string

func (*ScoutDeleteRequest) ProtoMessage

func (*ScoutDeleteRequest) ProtoMessage()

func (*ScoutDeleteRequest) ProtoReflect

func (x *ScoutDeleteRequest) ProtoReflect() protoreflect.Message

func (*ScoutDeleteRequest) Reset

func (x *ScoutDeleteRequest) Reset()

func (*ScoutDeleteRequest) String

func (x *ScoutDeleteRequest) String() string

type ScoutDeleteResponse

type ScoutDeleteResponse struct {

	// Server information
	Server *ServerInfo `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"`
	// contains filtered or unexported fields
}

Empty response

func (*ScoutDeleteResponse) Descriptor deprecated

func (*ScoutDeleteResponse) Descriptor() ([]byte, []int)

Deprecated: Use ScoutDeleteResponse.ProtoReflect.Descriptor instead.

func (*ScoutDeleteResponse) GetServer

func (x *ScoutDeleteResponse) GetServer() *ServerInfo

func (*ScoutDeleteResponse) ProtoMessage

func (*ScoutDeleteResponse) ProtoMessage()

func (*ScoutDeleteResponse) ProtoReflect

func (x *ScoutDeleteResponse) ProtoReflect() protoreflect.Message

func (*ScoutDeleteResponse) Reset

func (x *ScoutDeleteResponse) Reset()

func (*ScoutDeleteResponse) String

func (x *ScoutDeleteResponse) String() string

type ScoutIdentityClient

type ScoutIdentityClient interface {
	Version(ctx context.Context, in *ScoutIdentityVersionRequest, opts ...grpc.CallOption) (*ScoutIdentityVersionResponse, error)
}

ScoutIdentityClient is the client API for ScoutIdentity 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 ScoutIdentityServer

type ScoutIdentityServer interface {
	Version(context.Context, *ScoutIdentityVersionRequest) (*ScoutIdentityVersionResponse, error)
	// contains filtered or unexported methods
}

ScoutIdentityServer is the server API for ScoutIdentity service. All implementations must embed UnimplementedScoutIdentityServer for forward compatibility

type ScoutIdentityVersionRequest

type ScoutIdentityVersionRequest struct {
	// contains filtered or unexported fields
}

Empty request

func (*ScoutIdentityVersionRequest) Descriptor deprecated

func (*ScoutIdentityVersionRequest) Descriptor() ([]byte, []int)

Deprecated: Use ScoutIdentityVersionRequest.ProtoReflect.Descriptor instead.

func (*ScoutIdentityVersionRequest) ProtoMessage

func (*ScoutIdentityVersionRequest) ProtoMessage()

func (*ScoutIdentityVersionRequest) ProtoReflect

func (*ScoutIdentityVersionRequest) Reset

func (x *ScoutIdentityVersionRequest) Reset()

func (*ScoutIdentityVersionRequest) String

func (x *ScoutIdentityVersionRequest) String() string

type ScoutIdentityVersionResponse

type ScoutIdentityVersionResponse struct {

	// Scout application version
	ScoutVersion *ScoutVersion `protobuf:"bytes,1,opt,name=Scout_version,json=ScoutVersion,proto3" json:"Scout_version,omitempty"`
	// contains filtered or unexported fields
}

Defines the response to version

func (*ScoutIdentityVersionResponse) Descriptor deprecated

func (*ScoutIdentityVersionResponse) Descriptor() ([]byte, []int)

Deprecated: Use ScoutIdentityVersionResponse.ProtoReflect.Descriptor instead.

func (*ScoutIdentityVersionResponse) GetScoutVersion

func (x *ScoutIdentityVersionResponse) GetScoutVersion() *ScoutVersion

func (*ScoutIdentityVersionResponse) ProtoMessage

func (*ScoutIdentityVersionResponse) ProtoMessage()

func (*ScoutIdentityVersionResponse) ProtoReflect

func (*ScoutIdentityVersionResponse) Reset

func (x *ScoutIdentityVersionResponse) Reset()

func (*ScoutIdentityVersionResponse) String

type ScoutListRequest

type ScoutListRequest struct {

	// Information about the requester
	Client *ClientInfo `protobuf:"bytes,1,opt,name=client,proto3" json:"client,omitempty"`
	// contains filtered or unexported fields
}

Empty request

func (*ScoutListRequest) Descriptor deprecated

func (*ScoutListRequest) Descriptor() ([]byte, []int)

Deprecated: Use ScoutListRequest.ProtoReflect.Descriptor instead.

func (*ScoutListRequest) GetClient

func (x *ScoutListRequest) GetClient() *ClientInfo

func (*ScoutListRequest) ProtoMessage

func (*ScoutListRequest) ProtoMessage()

func (*ScoutListRequest) ProtoReflect

func (x *ScoutListRequest) ProtoReflect() protoreflect.Message

func (*ScoutListRequest) Reset

func (x *ScoutListRequest) Reset()

func (*ScoutListRequest) String

func (x *ScoutListRequest) String() string

type ScoutListResponse

type ScoutListResponse struct {

	// Server information
	Server *ServerInfo `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"`
	// List of stuff
	List []string `protobuf:"bytes,2,rep,name=list,proto3" json:"list,omitempty"`
	// contains filtered or unexported fields
}

func (*ScoutListResponse) Descriptor deprecated

func (*ScoutListResponse) Descriptor() ([]byte, []int)

Deprecated: Use ScoutListResponse.ProtoReflect.Descriptor instead.

func (*ScoutListResponse) GetList

func (x *ScoutListResponse) GetList() []string

func (*ScoutListResponse) GetServer

func (x *ScoutListResponse) GetServer() *ServerInfo

func (*ScoutListResponse) ProtoMessage

func (*ScoutListResponse) ProtoMessage()

func (*ScoutListResponse) ProtoReflect

func (x *ScoutListResponse) ProtoReflect() protoreflect.Message

func (*ScoutListResponse) Reset

func (x *ScoutListResponse) Reset()

func (*ScoutListResponse) String

func (x *ScoutListResponse) String() string

type ScoutPingRequest

type ScoutPingRequest struct {
	Client *ClientInfo `protobuf:"bytes,1,opt,name=client,proto3" json:"client,omitempty"`
	// contains filtered or unexported fields
}

func (*ScoutPingRequest) Descriptor deprecated

func (*ScoutPingRequest) Descriptor() ([]byte, []int)

Deprecated: Use ScoutPingRequest.ProtoReflect.Descriptor instead.

func (*ScoutPingRequest) GetClient

func (x *ScoutPingRequest) GetClient() *ClientInfo

func (*ScoutPingRequest) ProtoMessage

func (*ScoutPingRequest) ProtoMessage()

func (*ScoutPingRequest) ProtoReflect

func (x *ScoutPingRequest) ProtoReflect() protoreflect.Message

func (*ScoutPingRequest) Reset

func (x *ScoutPingRequest) Reset()

func (*ScoutPingRequest) String

func (x *ScoutPingRequest) String() string

type ScoutPingResponse

type ScoutPingResponse struct {

	// Server information
	Server *ServerInfo `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"`
	// contains filtered or unexported fields
}

func (*ScoutPingResponse) Descriptor deprecated

func (*ScoutPingResponse) Descriptor() ([]byte, []int)

Deprecated: Use ScoutPingResponse.ProtoReflect.Descriptor instead.

func (*ScoutPingResponse) GetServer

func (x *ScoutPingResponse) GetServer() *ServerInfo

func (*ScoutPingResponse) ProtoMessage

func (*ScoutPingResponse) ProtoMessage()

func (*ScoutPingResponse) ProtoReflect

func (x *ScoutPingResponse) ProtoReflect() protoreflect.Message

func (*ScoutPingResponse) Reset

func (x *ScoutPingResponse) Reset()

func (*ScoutPingResponse) String

func (x *ScoutPingResponse) String() string

type ScoutServer

type ScoutServer interface {
	Ping(context.Context, *ScoutPingRequest) (*ScoutPingResponse, error)
	List(context.Context, *ScoutListRequest) (*ScoutListResponse, error)
	Delete(context.Context, *ScoutDeleteRequest) (*ScoutDeleteResponse, error)
	StreamData(*ScoutStreamDataRequest, Scout_StreamDataServer) error
	// contains filtered or unexported methods
}

ScoutServer is the server API for Scout service. All implementations must embed UnimplementedScoutServer for forward compatibility

type ScoutStreamDataRequest

type ScoutStreamDataRequest struct {
	Client *ClientInfo `protobuf:"bytes,1,opt,name=client,proto3" json:"client,omitempty"`
	// contains filtered or unexported fields
}

func (*ScoutStreamDataRequest) Descriptor deprecated

func (*ScoutStreamDataRequest) Descriptor() ([]byte, []int)

Deprecated: Use ScoutStreamDataRequest.ProtoReflect.Descriptor instead.

func (*ScoutStreamDataRequest) GetClient

func (x *ScoutStreamDataRequest) GetClient() *ClientInfo

func (*ScoutStreamDataRequest) ProtoMessage

func (*ScoutStreamDataRequest) ProtoMessage()

func (*ScoutStreamDataRequest) ProtoReflect

func (x *ScoutStreamDataRequest) ProtoReflect() protoreflect.Message

func (*ScoutStreamDataRequest) Reset

func (x *ScoutStreamDataRequest) Reset()

func (*ScoutStreamDataRequest) String

func (x *ScoutStreamDataRequest) String() string

type ScoutStreamDataResponse

type ScoutStreamDataResponse struct {

	// Server information
	Server *ServerInfo `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"`
	// Random data
	RandomNumber int32 `protobuf:"varint,2,opt,name=random_number,json=randomNumber,proto3" json:"random_number,omitempty"`
	// contains filtered or unexported fields
}

func (*ScoutStreamDataResponse) Descriptor deprecated

func (*ScoutStreamDataResponse) Descriptor() ([]byte, []int)

Deprecated: Use ScoutStreamDataResponse.ProtoReflect.Descriptor instead.

func (*ScoutStreamDataResponse) GetRandomNumber

func (x *ScoutStreamDataResponse) GetRandomNumber() int32

func (*ScoutStreamDataResponse) GetServer

func (x *ScoutStreamDataResponse) GetServer() *ServerInfo

func (*ScoutStreamDataResponse) ProtoMessage

func (*ScoutStreamDataResponse) ProtoMessage()

func (*ScoutStreamDataResponse) ProtoReflect

func (x *ScoutStreamDataResponse) ProtoReflect() protoreflect.Message

func (*ScoutStreamDataResponse) Reset

func (x *ScoutStreamDataResponse) Reset()

func (*ScoutStreamDataResponse) String

func (x *ScoutStreamDataResponse) String() string

type ScoutVersion

type ScoutVersion struct {

	// Version major number
	Major int32 `protobuf:"varint,1,opt,name=major,proto3" json:"major,omitempty"`
	// Version minor number
	Minor int32 `protobuf:"varint,2,opt,name=minor,proto3" json:"minor,omitempty"`
	// Version patch number
	Patch int32 `protobuf:"varint,3,opt,name=patch,proto3" json:"patch,omitempty"`
	// String representation of the version. Must be
	// in `major.minor.patch` format.
	Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"`
	// contains filtered or unexported fields
}

Scout version in Major.Minor.Patch format. The goal of this message is to provide clients a method to determine the server and client versions.

func (*ScoutVersion) Descriptor deprecated

func (*ScoutVersion) Descriptor() ([]byte, []int)

Deprecated: Use ScoutVersion.ProtoReflect.Descriptor instead.

func (*ScoutVersion) GetMajor

func (x *ScoutVersion) GetMajor() int32

func (*ScoutVersion) GetMinor

func (x *ScoutVersion) GetMinor() int32

func (*ScoutVersion) GetPatch

func (x *ScoutVersion) GetPatch() int32

func (*ScoutVersion) GetVersion

func (x *ScoutVersion) GetVersion() string

func (*ScoutVersion) ProtoMessage

func (*ScoutVersion) ProtoMessage()

func (*ScoutVersion) ProtoReflect

func (x *ScoutVersion) ProtoReflect() protoreflect.Message

func (*ScoutVersion) Reset

func (x *ScoutVersion) Reset()

func (*ScoutVersion) String

func (x *ScoutVersion) String() string

type ScoutVersion_Version

type ScoutVersion_Version int32

These values are constants that can be used by the client and server applications

const (
	// Must be set in the proto file; ignore.
	ScoutVersion_MUST_HAVE_ZERO_VALUE ScoutVersion_Version = 0
	// Version major value of this specification
	ScoutVersion_MAJOR ScoutVersion_Version = 0
	// Version minor value of this specification
	ScoutVersion_MINOR ScoutVersion_Version = 0
	// Version patch value of this specification
	ScoutVersion_PATCH ScoutVersion_Version = 1
)

func (ScoutVersion_Version) Descriptor

func (ScoutVersion_Version) Enum

func (ScoutVersion_Version) EnumDescriptor deprecated

func (ScoutVersion_Version) EnumDescriptor() ([]byte, []int)

Deprecated: Use ScoutVersion_Version.Descriptor instead.

func (ScoutVersion_Version) Number

func (ScoutVersion_Version) String

func (x ScoutVersion_Version) String() string

func (ScoutVersion_Version) Type

type Scout_StreamDataClient

type Scout_StreamDataClient interface {
	Recv() (*ScoutStreamDataResponse, error)
	grpc.ClientStream
}

type Scout_StreamDataServer

type Scout_StreamDataServer interface {
	Send(*ScoutStreamDataResponse) error
	grpc.ServerStream
}

type ServerInfo

type ServerInfo struct {

	// client id
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// server name
	ServerName string `protobuf:"bytes,2,opt,name=server_name,json=serverName,proto3" json:"server_name,omitempty"`
	// Timestamp when the server replied
	Timestamp *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// contains filtered or unexported fields
}

func (*ServerInfo) Descriptor deprecated

func (*ServerInfo) Descriptor() ([]byte, []int)

Deprecated: Use ServerInfo.ProtoReflect.Descriptor instead.

func (*ServerInfo) GetId

func (x *ServerInfo) GetId() string

func (*ServerInfo) GetServerName

func (x *ServerInfo) GetServerName() string

func (*ServerInfo) GetTimestamp

func (x *ServerInfo) GetTimestamp() *timestamppb.Timestamp

func (*ServerInfo) ProtoMessage

func (*ServerInfo) ProtoMessage()

func (*ServerInfo) ProtoReflect

func (x *ServerInfo) ProtoReflect() protoreflect.Message

func (*ServerInfo) Reset

func (x *ServerInfo) Reset()

func (*ServerInfo) String

func (x *ServerInfo) String() string

type UnimplementedScoutIdentityServer

type UnimplementedScoutIdentityServer struct {
}

UnimplementedScoutIdentityServer must be embedded to have forward compatible implementations.

type UnimplementedScoutServer

type UnimplementedScoutServer struct {
}

UnimplementedScoutServer must be embedded to have forward compatible implementations.

func (UnimplementedScoutServer) Delete

func (UnimplementedScoutServer) List

func (UnimplementedScoutServer) Ping

func (UnimplementedScoutServer) StreamData

type UnsafeScoutIdentityServer

type UnsafeScoutIdentityServer interface {
	// contains filtered or unexported methods
}

UnsafeScoutIdentityServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to ScoutIdentityServer will result in compilation errors.

type UnsafeScoutServer

type UnsafeScoutServer interface {
	// contains filtered or unexported methods
}

UnsafeScoutServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to ScoutServer will result in compilation errors.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL