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

import "models/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);
}
