SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


    [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

    RE: How do you negotiate a numerical range?



    Bill,
    
    Ranges are only valid for keys that are specified to take a range. (Page 71 of the 14 July working draft 15: A range or a large-numerical-value MAY ONLY be offered if it is explicitly allowed for a key.) The draft does explicitly state how ranges are to be negotiated in 4.2.2 The rule is that you have to chose a value in the offered range or "Reject". You don't have to choose Min or Max. 
    
    The only currently defined keys which take a range are OFMarkInt and IFMarkInt. These keys use range because an implementation may have both upper and lower limits on the range it is willing to support. They are not MAX or MIN. 
    
    In your example, if you receive Foo=3~12 and you would have offered Foo=10~16, you would presumably offer 10, 11 or 12. You can offer any of those values, so you can choose your preference from the overlap of the offered range and the range you support. 
    
    Regards,
    Pat
    
    -----Original Message-----
    From: Bill Studenmund [mailto:wrstuden@wasabisystems.com]
    Sent: Wednesday, July 17, 2002 2:11 PM
    To: ips@ece.cmu.edu
    Subject: How do you negotiate a numerical range?
    
    
    I think I know the answer, but wanted to double check as AFAICT all the
    numbers we have in the spec are either MIN or MAX; I suspect not much code
    is using numerical ranges at the moment. Also, the spec doesn't say
    anything about negotiating ranges AFAICT. :-)
    
    Question 1:
    
    Since all of the numbers we have are MIN or MAX, my understanding is that
    you just take the min or max of the range, and use that for negotiation.
    
    The initially-non-intuitive thing is that you can readily get a negotiated
    value outside of the offered range. :-)
    
    Consider an offer of "MaxConnections=3~10" to a device that wants
    MaxConnections=2. Since MaxConnections is a MIN number, the correct
    response (I believe) is "MaxConnections=2". I suspect however this might
    seem counter-intuitive for new implementers.
    
    Question 2:
    
    Say you have a number that is not a MIN or MAX number (right now this'd be
    a vendor-specific one), and you are offered a range (say "Foo=3~12"), and
    had you made the offer you would have offered a different range (say
    "Foo=10~16"). Do we want to say anything now about how to handle this
    negotiation, or do we want to wait until we actually have a non-MIN/MAX
    number in the spec?
    
    I'd vote holding off, and just having everyone understand there will be
    more work for some future version. :-)
    
    Thoughts?
    
    Take care,
    
    Bill
    


Home

Last updated: Wed Jul 17 22:18:56 2002
11372 messages in chronological order