syntax = "proto3";
option java_package = "org.onosproject.grpc.net.link";

import "net/link/LinkDescriptionProto.proto";
import "net/ConnectPointProto.proto";

package Link;

// Message to represent no return value
message Void {}

message LinkDetectedMsg {
  // ProviderId scheme only
  string provider_id = 1;
  net.link.LinkDescriptionProto link_description = 2;
}

message LinkVanishedMsg {
  // ProviderId scheme only
  string provider_id = 1;
  oneof subject {
    net.link.LinkDescriptionProto link_description = 2;
    net.ConnectPointProto connect_point = 3;
    string device_id = 4;
  }
}

service LinkProviderServiceRpc {
  rpc LinkDetected(LinkDetectedMsg) returns (Void);
  rpc LinkVanished(LinkVanishedMsg) returns (Void);
}
