{ "type": "class",
  "qname": "mx.messaging.channels.HTTPChannel",
  "baseClassname": "mx.messaging.channels.PollingChannel"
  ,
    "description": "The HTTPChannel class provides the HTTP support for messaging. You can configure this Channel to poll the server at an interval to approximate server push. You can also use this Channel with polling disabled to send RPC messages to remote destinations to invoke their methods.  <p> The HTTPChannel relies on network services native to Flash Player and AIR, and exposed to ActionScript by the URLLoader class. This channel uses URLLoader exclusively, and creates a new URLLoader per request. </p>  <p> Channels are created within the framework using the <code>ServerConfig.getChannel()</code> method. Channels can be constructed directly and assigned to a ChannelSet if desired. </p>  <p> Channels represent a physical connection to a remote endpoint. Channels are shared across destinations by default. This means that a client targetting different destinations may use the same Channel to communicate with these destinations. </p>  <p> When used in polling mode, this Channel polls the server for new messages based on the <code>polling-interval-seconds</code> property in the configuration file, and this can be changed by setting the <code>pollingInterval</code> property. The default value is 3 seconds. To enable polling, the channel must be connected and the <code>polling-enabled</code> property in the configuration file must be set to <code>true</code>, or the <code>pollingEnabled</code> property of the Channel must be set to <code>true</code>. </p>",
  "tags": [
  {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "productversion",
         "values": ["BlazeDS 4", "LCDS 3"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "mx.messaging.channels.HTTPChannel",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.",
        "tags": [
        {  "tagName": "param",
               "values": ["id The id of this Channel.", "uri The uri for this Channel."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["BlazeDS 4", "LCDS 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": [{ "name": "id", "type": "String"},
        { "name": "uri", "type": "String"}]}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "Boolean",
        "qname": "polling",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Reports whether the channel is actively polling.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["BlazeDS 4", "LCDS 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "piggybackingEnabled",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Indicates whether this channel will piggyback poll requests along with regular outbound messages when an outstanding poll is not in progress. This allows the server to piggyback data for the client along with its response to client's message.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["BlazeDS 4", "LCDS 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "pollingEnabled",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Indicates whether this channel is enabled to poll.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["BlazeDS 4", "LCDS 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "pollingInterval",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Provides access to the polling interval for this Channel. The value is in milliseconds. This value determines how often this Channel requests messages from the server, to approximate server push.  less.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["BlazeDS 4", "LCDS 3"]},
            {  "tagName": "throws",
               "values": ["ArgumentError If the pollingInterval is assigned a value of 0 or"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "String",
        "qname": "protocol",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "Returns the protocol for this channel (http).",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["BlazeDS 4", "LCDS 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "appendToURL",
        "namespace": "mx_internal",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "private",
               "values": []}  ]}]
  }









