class XMPP::Stanza::IQ
- XMPP::Stanza::IQ
- XMPP::Stanza::Extension
- Reference
- Object
Overview
IQ Packet
IQ implements RFC 6120 - A.5 Client Namespace (a part) RFC 3920 Section 9.2.3 - IQ Semantics
Info/Query, or IQ, is a request-response mechanism, similar in some ways to HTTP. The semantics of IQ enable an entity to make a request of, and receive a response from, another entity. The data content of the request and response is defined by the namespace declaration of a direct child element of the IQ element, and the interaction is tracked by the requesting entity through use of the 'id' attribute. Thus, IQ interactions follow a common pattern of structured data exchange such as get/result or set/result (although an error may be returned in reply to a request if appropriate).
"ID" Attribute
IQ Stanzas require the ID attribute be set.
"Type" Attribute
- 
:get-- The stanza is a request for information or requirements.
- 
:set-- The stanza provides required data, sets new values, or replaces existing values.
- 
:result-- The stanza is a response to a successful get or set request.
- 
:error-- An error has occurred regarding processing or delivery of a previously-sent get or set (see Stanza Errors).
Included Modules
Defined in:
xmpp/stanza/iq.crConstructors
Class Method Summary
Instance Method Summary
- 
        #any : Node | Nil
        
          Any is used to decode unknown payloads 
- 
        #any=(any : Node | Nil)
        
          Any is used to decode unknown payloads 
- 
        #disco_info
        
          disco_info builds a default DiscoInfo payload 
- 
        #disco_items
        
          disco_items builds a default DiscoItems payload 
- #error : Error | Nil
- #error=(error : Error | Nil)
- #make_error(err : Error)
- #name : String
- 
        #payload : IQPayload | Nil
        
          We can only have one payload on IQ: "An IQ stanza of type "get" or "set" MUST contain exactly one child element, which specifies the semantics of the particular request." 
- 
        #payload=(payload : IQPayload | Nil)
        
          We can only have one payload on IQ: "An IQ stanza of type "get" or "set" MUST contain exactly one child element, which specifies the semantics of the particular request." 
- #to_xml(elem : XML::Builder)
- 
        #version
        
          Version builds a default software version payload 
Instance methods inherited from module XMPP::Stanza::Attrs
  
  
    
      attr_hash
    attr_hash, 
    
  
    
      from : String
    from, 
    
  
    
      from=(from : String)
    from=, 
    
  
    
      id : String
    id, 
    
  
    
      id=(id : String)
    id=, 
    
  
    
      lang : String
    lang, 
    
  
    
      lang=(lang : String)
    lang=, 
    
  
    
      load_attrs(node : XML::Node)
    load_attrs, 
    
  
    
      to : String
    to, 
    
  
    
      to=(to : String)
    to=, 
    
  
    
      type : String
    type, 
    
  
    
      type=(type : String)
    type=, 
    
  
    
      xmlns : String
    xmlns
    
  
    
    
  
    
  Instance methods inherited from module XMPP::Stanza::Packet
  
  
    
      name : String
    name, 
    
  
    
      to_xml(xml : XML::Builder)to_xml : String to_xml
Instance methods inherited from module XMPP::Stanza::Packet
  
  
    
      name : String
    name, 
    
  
    
      to_xml(xml : XML::Builder)to_xml : String to_xml
Constructor Detail
Class Method Detail
Instance Method Detail
We can only have one payload on IQ: "An IQ stanza of type "get" or "set" MUST contain exactly one child element, which specifies the semantics of the particular request."
We can only have one payload on IQ: "An IQ stanza of type "get" or "set" MUST contain exactly one child element, which specifies the semantics of the particular request."