func (p *PubSub) Subscribe(topic string, opts ...SubOpt) (*Subscription, error) {
	td := pb.TopicDescriptor{Name: &topic}

	return p.SubscribeByTopicDescriptor(&td, opts...)
}
func (p *PubSub) Subscribe(topic string, opts ...SubOpt) (*Subscription, error) {
	td := pb.TopicDescriptor{Name: &topic}

	return p.SubscribeByTopicDescriptor(&td, opts...)
}
func ( p * PubSub ) Subscribe ( topic string , opts ... SubOpt ) ( * Subscription , error ) { td := pb . TopicDescriptor { Name : & topic } return p . SubscribeByTopicDescriptor ( & td , opts ... ) }
// Subscribe returns a new Subscription for the given topic.
// Note that subscription is not an instanteneous operation. It may take some time
// before the subscription is processed by the pubsub main loop and propagated to our peers.
Subscribe returns a new Subscription for the given topic . Note that subscription is not an instanteneous operation . It may take some time before the subscription is processed by the pubsub main loop and propagated to our peers .