syntax = "proto2"; import "bgs/low/pb/client/rpc_types.proto"; import "bgs/low/pb/client/notification_types.proto"; package bgs.protocol.notification.v1; option optimize_for = CODE_SIZE; option cc_generic_services = false; message SubscribeRequest { optional .bgs.protocol.notification.v1.Subscription subscription = 1; } message UnsubscribeRequest { optional .bgs.protocol.notification.v1.Subscription subscription = 1; } message PublishRequest { optional .bgs.protocol.notification.v1.Target target = 1; optional .bgs.protocol.notification.v1.Notification notification = 2; } service NotificationService { option (.bgs.protocol.service_options) = { descriptor_name: "bnet.protocol.notification.NotificationService" }; option (.bgs.protocol.sdk_service_options) = { outbound: true }; rpc SendNotification(.bgs.protocol.notification.v1.Notification) returns (.bgs.protocol.NoData) { option (.bgs.protocol.method_options) = { id: 1 }; } rpc Subscribe(.bgs.protocol.notification.v1.SubscribeRequest) returns (.bgs.protocol.NoData) { option (.bgs.protocol.method_options) = { id: 6 }; } rpc Unsubscribe(.bgs.protocol.notification.v1.UnsubscribeRequest) returns (.bgs.protocol.NoData) { option (.bgs.protocol.method_options) = { id: 7 }; } rpc Publish(.bgs.protocol.notification.v1.PublishRequest) returns (.bgs.protocol.NoData) { option (.bgs.protocol.method_options) = { id: 8 }; } } service NotificationListener { option (.bgs.protocol.service_options) = { descriptor_name: "bnet.protocol.notification.NotificationListener" }; option (.bgs.protocol.sdk_service_options) = { inbound: true }; rpc OnNotificationReceived(.bgs.protocol.notification.v1.Notification) returns (.bgs.protocol.NO_RESPONSE) { option (.bgs.protocol.method_options) = { id: 1 }; } }