We should propose this format for 0-11, then we can change qpid: back to amqp: :) AMQP can standardize the names of options that correspond to parameters of AMQP connection process, but specify that implementatiosn ignore unrecognized options (rather than give an error) so implementors can easily piggyback additional information in the URL as they experiment with new features.
On Tue, 2007-08-21 at 14:10 +0200, Arnaud Simon wrote: > As an errata, my grammar is wrong (thanks Alan). It should be: > > qpid_url = "qpid:" prot_addr_list ["/" future-parameters] > client_opts = [client_opt ";"]* client_opt "@" > client_opt = prop "=" val > prop = <as per http://www.apps.ietf.org/> i.e. string > without reserved characters > val = <as per http://www.apps.ietf.org/> i.e. string > without reserved characters > prot_addr_list = [address ","]* address > address = [client_opts] prot_addr > prot_addr = tcp_prot_addr | tls_prot_addr | future_prot_addr > tcp_prot_addr = tcp_id tcp_addr > tcp_id = "tcp:" | "" > tcp_addr = [host [":" port] ] > host = <as per http://www.apps.ietf.org/> > port = number > tls_prot_addr = tls_id tls_addr > tcp_id = "tls:" | "" > tls_addr = [host [":" port] ] > future_prot_addr = future_prot_id future_prot_addr > future_prot_id = <placeholder, must end in ":". Example "sctp:"> > future_prot_addr = <placeholder, protocl-specific address> > future_parameters = <placeholder, not used in failover addresses> > > > On Tue, 2007-08-21 at 10:08 +0200, Arnaud Simon wrote: > > Hello, > > > > Regarding the 0.10 URL scheme I think that we have decided to base it > > on: https://wiki.108.redhat.com/wiki/index.php/AMQP:95:Proposal > > > > So, the URL grammar is (if we replace amqp by qpid): > > qpid_url = "qpid:" prot_addr_list ["/" future-parameters] > > prot_addr_list = [prot_addr ","]* prot_addr > > prot_addr = tcp_prot_addr | tls_prot_addr | future_prot_addr > > tcp_prot_addr = tcp_id tcp_addr > > tcp_id = "tcp:" | "" > > tcp_addr = [host [":" port] ] > > host = <as per http://www.apps.ietf.org/> > > port = number > > tls_prot_addr = tls_id tls_addr > > tcp_id = "tls:" | "" > > tls_addr = [host [":" port] ] > > future_prot_addr = future_prot_id future_prot_addr > > future_prot_id = <placeholder, must end in ":". Example "sctp:"> > > future_prot_addr = <placeholder, protocl-specific address> > > future_parameters = <placeholder, not used in failover addresses> > > > > I think that we need to add some user options for specifying the key store > > location, the virtual host etc.. > > So following http://www.apps.ietf.org/ I would extend the grammar with > > some user options like this: > > > > qpid_url = "qpid:" [client_opts]* prot_addr_list ["/" > > future-parameters] > > client_opts = [client_opt ";"] client_opt "@" > > client_opt = prop "=" val > > prop = <as per http://www.apps.ietf.org/> i.e. string without > > reserved characters > > val = <as per http://www.apps.ietf.org/> i.e. string without > > reserved characters > > prot_addr_list = [prot_addr ","]* prot_addr > > prot_addr = tcp_prot_addr | tls_prot_addr | future_prot_addr > > tcp_prot_addr = tcp_id tcp_addr > > tcp_id = "tcp:" | "" > > tcp_addr = [host [":" port] ] > > host = <as per http://www.apps.ietf.org/> > > port = number > > tls_prot_addr = tls_id tls_addr > > tcp_id = "tls:" | "" > > tls_addr = [host [":" port] ] > > future_prot_addr = future_prot_id future_prot_addr > > future_prot_id = <placeholder, must end in ":". Example "sctp:"> > > future_prot_addr = <placeholder, protocl-specific address> > > future_parameters = <placeholder, not used in failover addresses> > > > > For example we could use a very simple URL like: > > qpid:tcp:host1,tcp:host2 > > or a more complicated one like: > > qpid:clientID=foo;username=bar;password=pass;[EMAIL > > PROTECTED]:host1:2345,keystorloc=/usr/local;[EMAIL PROTECTED]:host2:5555 > > > > What do you think about this scheme? > > > > Arnaud > > >
