add: sensors
This commit is contained in:
@@ -51,6 +51,12 @@ const (
|
||||
// SignalerServicePopIceMessageProcedure is the fully-qualified name of the SignalerService's
|
||||
// PopIceMessage RPC.
|
||||
SignalerServicePopIceMessageProcedure = "/signaler.SignalerService/PopIceMessage"
|
||||
// SignalerServiceCreateSampleProcedure is the fully-qualified name of the SignalerService's
|
||||
// CreateSample RPC.
|
||||
SignalerServiceCreateSampleProcedure = "/signaler.SignalerService/CreateSample"
|
||||
// SignalerServiceListSamplesProcedure is the fully-qualified name of the SignalerService's
|
||||
// ListSamples RPC.
|
||||
SignalerServiceListSamplesProcedure = "/signaler.SignalerService/ListSamples"
|
||||
)
|
||||
|
||||
// SignalerServiceClient is a client for the signaler.SignalerService service.
|
||||
@@ -72,6 +78,12 @@ type SignalerServiceClient interface {
|
||||
//
|
||||
// If there are no messages, this blocks until one becomes available.
|
||||
PopIceMessage(context.Context, *connect.Request[gen.PopIceMessageRequest]) (*connect.Response[gen.IceMessage], error)
|
||||
// CreateSample creates a sample for the given camera.
|
||||
// If called without an auth token indicating a camera, an error
|
||||
// is returned.
|
||||
// TODO: this should be moved to a seperate service
|
||||
CreateSample(context.Context, *connect.Request[gen.CreateSampleRequest]) (*connect.Response[gen.Sample], error)
|
||||
ListSamples(context.Context, *connect.Request[gen.ListSamplesRequest]) (*connect.Response[gen.ListSamplesResponse], error)
|
||||
}
|
||||
|
||||
// NewSignalerServiceClient constructs a client for the signaler.SignalerService service. By
|
||||
@@ -114,6 +126,16 @@ func NewSignalerServiceClient(httpClient connect.HTTPClient, baseURL string, opt
|
||||
baseURL+SignalerServicePopIceMessageProcedure,
|
||||
opts...,
|
||||
),
|
||||
createSample: connect.NewClient[gen.CreateSampleRequest, gen.Sample](
|
||||
httpClient,
|
||||
baseURL+SignalerServiceCreateSampleProcedure,
|
||||
opts...,
|
||||
),
|
||||
listSamples: connect.NewClient[gen.ListSamplesRequest, gen.ListSamplesResponse](
|
||||
httpClient,
|
||||
baseURL+SignalerServiceListSamplesProcedure,
|
||||
opts...,
|
||||
),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -125,6 +147,8 @@ type signalerServiceClient struct {
|
||||
popSession *connect.Client[gen.PopSessionRequest, gen.Session]
|
||||
createIceMessage *connect.Client[gen.CreateIceMessageRequest, gen.IceMessage]
|
||||
popIceMessage *connect.Client[gen.PopIceMessageRequest, gen.IceMessage]
|
||||
createSample *connect.Client[gen.CreateSampleRequest, gen.Sample]
|
||||
listSamples *connect.Client[gen.ListSamplesRequest, gen.ListSamplesResponse]
|
||||
}
|
||||
|
||||
// CreateAuthToken calls signaler.SignalerService.CreateAuthToken.
|
||||
@@ -157,6 +181,16 @@ func (c *signalerServiceClient) PopIceMessage(ctx context.Context, req *connect.
|
||||
return c.popIceMessage.CallUnary(ctx, req)
|
||||
}
|
||||
|
||||
// CreateSample calls signaler.SignalerService.CreateSample.
|
||||
func (c *signalerServiceClient) CreateSample(ctx context.Context, req *connect.Request[gen.CreateSampleRequest]) (*connect.Response[gen.Sample], error) {
|
||||
return c.createSample.CallUnary(ctx, req)
|
||||
}
|
||||
|
||||
// ListSamples calls signaler.SignalerService.ListSamples.
|
||||
func (c *signalerServiceClient) ListSamples(ctx context.Context, req *connect.Request[gen.ListSamplesRequest]) (*connect.Response[gen.ListSamplesResponse], error) {
|
||||
return c.listSamples.CallUnary(ctx, req)
|
||||
}
|
||||
|
||||
// SignalerServiceHandler is an implementation of the signaler.SignalerService service.
|
||||
type SignalerServiceHandler interface {
|
||||
CreateAuthToken(context.Context, *connect.Request[gen.CreateAuthTokenRequest]) (*connect.Response[gen.AuthToken], error)
|
||||
@@ -176,6 +210,12 @@ type SignalerServiceHandler interface {
|
||||
//
|
||||
// If there are no messages, this blocks until one becomes available.
|
||||
PopIceMessage(context.Context, *connect.Request[gen.PopIceMessageRequest]) (*connect.Response[gen.IceMessage], error)
|
||||
// CreateSample creates a sample for the given camera.
|
||||
// If called without an auth token indicating a camera, an error
|
||||
// is returned.
|
||||
// TODO: this should be moved to a seperate service
|
||||
CreateSample(context.Context, *connect.Request[gen.CreateSampleRequest]) (*connect.Response[gen.Sample], error)
|
||||
ListSamples(context.Context, *connect.Request[gen.ListSamplesRequest]) (*connect.Response[gen.ListSamplesResponse], error)
|
||||
}
|
||||
|
||||
// NewSignalerServiceHandler builds an HTTP handler from the service implementation. It returns the
|
||||
@@ -214,6 +254,16 @@ func NewSignalerServiceHandler(svc SignalerServiceHandler, opts ...connect.Handl
|
||||
svc.PopIceMessage,
|
||||
opts...,
|
||||
)
|
||||
signalerServiceCreateSampleHandler := connect.NewUnaryHandler(
|
||||
SignalerServiceCreateSampleProcedure,
|
||||
svc.CreateSample,
|
||||
opts...,
|
||||
)
|
||||
signalerServiceListSamplesHandler := connect.NewUnaryHandler(
|
||||
SignalerServiceListSamplesProcedure,
|
||||
svc.ListSamples,
|
||||
opts...,
|
||||
)
|
||||
return "/signaler.SignalerService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
switch r.URL.Path {
|
||||
case SignalerServiceCreateAuthTokenProcedure:
|
||||
@@ -228,6 +278,10 @@ func NewSignalerServiceHandler(svc SignalerServiceHandler, opts ...connect.Handl
|
||||
signalerServiceCreateIceMessageHandler.ServeHTTP(w, r)
|
||||
case SignalerServicePopIceMessageProcedure:
|
||||
signalerServicePopIceMessageHandler.ServeHTTP(w, r)
|
||||
case SignalerServiceCreateSampleProcedure:
|
||||
signalerServiceCreateSampleHandler.ServeHTTP(w, r)
|
||||
case SignalerServiceListSamplesProcedure:
|
||||
signalerServiceListSamplesHandler.ServeHTTP(w, r)
|
||||
default:
|
||||
http.NotFound(w, r)
|
||||
}
|
||||
@@ -260,3 +314,11 @@ func (UnimplementedSignalerServiceHandler) CreateIceMessage(context.Context, *co
|
||||
func (UnimplementedSignalerServiceHandler) PopIceMessage(context.Context, *connect.Request[gen.PopIceMessageRequest]) (*connect.Response[gen.IceMessage], error) {
|
||||
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("signaler.SignalerService.PopIceMessage is not implemented"))
|
||||
}
|
||||
|
||||
func (UnimplementedSignalerServiceHandler) CreateSample(context.Context, *connect.Request[gen.CreateSampleRequest]) (*connect.Response[gen.Sample], error) {
|
||||
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("signaler.SignalerService.CreateSample is not implemented"))
|
||||
}
|
||||
|
||||
func (UnimplementedSignalerServiceHandler) ListSamples(context.Context, *connect.Request[gen.ListSamplesRequest]) (*connect.Response[gen.ListSamplesResponse], error) {
|
||||
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("signaler.SignalerService.ListSamples is not implemented"))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user