Skip to content
Snippets Groups Projects
Commit 918a10c6 authored by Fabian Seidl's avatar Fabian Seidl
Browse files

add API stuff for App service

parent 7a87d5c5
No related branches found
No related tags found
1 merge request!790Resolve "Update gRPC abstraction API with missing calls and refactoring"
package api
import (
"context"
"time"
apb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/app"
nbi "code.fbi.h-da.de/danet/gosdn/controller/northbound/client"
)
// Register checks if the app already exists and if not creates a new one.
func Register(ctx context.Context, addr, appname, token string) (*apb.AppRegisterResponse, error) {
appClient, err := nbi.AppClient(addr, dialOptions...)
if err != nil {
return nil, err
}
req := &apb.AppRegisterRequest{
Timestamp: time.Now().UnixNano(),
Appname: appname,
Token: token,
}
return appClient.Register(ctx, req)
}
// Deregister deregisters an app.
func Deregister(ctx context.Context, addr, appname, token string) (*apb.AppDeregisterResponse, error) {
appClient, err := nbi.AppClient(addr, dialOptions...)
if err != nil {
return nil, err
}
req := &apb.AppDeregisterRequest{
Timestamp: time.Now().UnixNano(),
Appname: appname,
}
return appClient.Deregister(ctx, req)
}
package client
import (
apb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/app"
"google.golang.org/grpc"
)
// AppClient returns a client for the gRPC App service. It takes
// the address of the gRPC endpoint and optional grpc.DialOption
// as argument.
func AppClient(addr string, opts ...grpc.DialOption) (apb.AppServiceClient, error) {
conn, err := grpc.Dial(addr, opts...)
if err != nil {
return nil, err
}
return apb.NewAppServiceClient(conn), nil
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment