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

import "Link.proto";

package Link;

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

message LinkDetectedMsg {
  // ProviderId scheme only
  string provider_id = 1;
  LinkDescription link_description = 2;
}

message LinkVanishedMsg {
  // ProviderId scheme only
  string provider_id = 1;
  oneof subject {
    LinkDescription link_description = 2;
    ConnectPoint connect_point = 3;
    string device_id = 4;
  }
}

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