Skip to content

Commit

Permalink
Merge branch 'edge'
Browse files Browse the repository at this point in the history
  • Loading branch information
dan committed Sep 26, 2009
2 parents f58956f + 3bcffcf commit c6e92f8
Show file tree
Hide file tree
Showing 16 changed files with 446 additions and 554 deletions.
46 changes: 20 additions & 26 deletions actionscript/amqp.as
Expand Up @@ -55,7 +55,6 @@ package {
{
if(ExternalInterface.available) {

ExternalInterface.addCallback("configure", api_configure);
ExternalInterface.addCallback("connect", api_connect);
ExternalInterface.addCallback("disconnect", api_disconnect);
ExternalInterface.addCallback("exchange", api_declare_exchange);
Expand All @@ -66,24 +65,20 @@ package {
ExternalInterface.addCallback("unbind", api_unbind);
ExternalInterface.addCallback("setLogLevel", api_set_log_level);

ExternalInterface.call("AMQPClient.onApiReady");
ExternalInterface.call("MQ.onLoad");
}
}

/**
* Allows default passing from the javascript implementation
*/
private function api_configure(options:*):void {
if(options.logLevel) {
logger.addEventListener(LogEvent.ENTRY, onLogEntry);
logger.level = options.logLevel;
}
}

private function api_connect(params:*):void {
connection = new Connection(params);
connection.addEventListener(Connection.READY, onConnect);
connection.addEventListener(Connection.CLOSED, onDisconnect);

logger.addEventListener(LogEvent.ENTRY, onLogEntry);
}


Expand All @@ -92,39 +87,39 @@ package {
}


private function api_subscribe(opts:*):uint {
private function api_subscribe(opts:*):String {
var queue:Queue = new Queue(connection, opts, onDeliver);
queues[queue.queueId] = queue;
return queue.queueId;
queues[opts.queue] = queue;
return opts.queue;
}

private function api_unsubscribe(queue:String):void {
}


private function api_publish(exchangeId:uint, routingKey:String, payload:*):void {
var ex:Exchange = exchanges[exchangeId];
private function api_publish(exchange:String, routingKey:String, payload:*):void {
var ex:Exchange = exchanges[exchange];
if(ex) {
ex.publish(routingKey, payload);
} else {
Logger.log("Exchange not declared: ", exchangeId);
Logger.log("Exchange not declared: ", exchange);
}
}

private function api_declare_exchange(opts:*):uint {
private function api_declare_exchange(opts:*):String {
var exchange:Exchange = new Exchange(connection, opts)
exchanges[exchange.exchangeId] = exchange;
return exchange.exchangeId;
exchanges[exchange.exchangeName] = exchange;
return exchange.exchangeName;
}


private function api_bind(queueId:String, exchangeId:String, routingKey:String):void {
private function api_bind(queue:String, exchange:String, routingKey:String):void {

var ex:Exchange = exchanges[exchangeId];
var ex:Exchange = exchanges[exchange];
if(ex) {
queues[queueId].bind(ex, routingKey);
queues[queue].bind(ex, routingKey);
} else {
Logger.log("Exchange not declared: ", exchangeId);
Logger.log("Exchange not declared: ", exchange);
}
}

Expand All @@ -145,20 +140,19 @@ package {
* Events to send to the client
*/
private function onConnect(e:Event):void {
ExternalInterface.call("AMQPClient.onConnect");
ExternalInterface.call("AMQPClient.onReady");
ExternalInterface.call("MQ.onConnect");
}

private function onDisconnect(e:Event):void {
ExternalInterface.call("AMQPClient.onDisconnect");
ExternalInterface.call("MQ.onDisconnect");
}

private function onLogEntry(e:LogEvent):void {
ExternalInterface.call("AMQPClient.onLogEntry", e.toString());
ExternalInterface.call("MQ.onLogEntry", e.toString());
}

private function onDeliver(m:*):void {
ExternalInterface.call("AMQPClient.onReceive", m);
ExternalInterface.call("MQ.onReceive", m);
}
}
}
4 changes: 2 additions & 2 deletions actionscript/org/ds/amqp/datastructures/FieldTable.as
Expand Up @@ -121,7 +121,7 @@ package org.ds.amqp.datastructures
b.writeByte(83);
b.writeString(o);
break;
case ByteArray:
case ByteArray:
b.writeByte(83);
b.writeLongString(o);
break;
Expand Down Expand Up @@ -157,7 +157,7 @@ package org.ds.amqp.datastructures
case String:
len += (o as String).length + 4;
break;
case ByteArray:
case ByteArray:
len += (o as ByteArray).length + 4;
break;
case int:
Expand Down
10 changes: 0 additions & 10 deletions actionscript/org/ds/velveteen/Exchange.as
Expand Up @@ -41,8 +41,6 @@ package org.ds.velveteen

public class Exchange extends StateMachine
{
private static var count :uint = 0;

public static var DECLARED :String = "Declared";
public static var DELETED :String = "Deleted";

Expand All @@ -56,7 +54,6 @@ package org.ds.velveteen
{
super("Null");

id = ++count;
channel = connection.channel;
exchange = options.exchange;

Expand Down Expand Up @@ -87,19 +84,12 @@ package org.ds.velveteen

public function onDeclare(result:ExchangeDeclareOk):void {
state = DECLARED;

if(ExternalInterface.available) {
ExternalInterface.call("AMQPClient.onExchangeDeclare", exchange);
}
}

public function get exchangeName():String {
return exchange;
}

public function get exchangeId():uint {
return id;
}

public function publish(routingKey:String, message:*):void {

Expand Down
20 changes: 8 additions & 12 deletions actionscript/org/ds/velveteen/Queue.as
Expand Up @@ -40,14 +40,12 @@ package org.ds.velveteen

public class Queue extends StateMachine
{
private static var count :uint = 0;
public static var DECLARED :String = "Declared";
public static var SUBSCRIBED :String = "Subscribed";
public static var UNSUBSCRIBED :String = "Unsubscribed";
public static var DELETED :String = "Deleted";


protected var id :uint;
protected var auto :Boolean = false;
protected var channel :Channel;
protected var queue :String;
protected var callback :Function;
Expand All @@ -57,15 +55,20 @@ package org.ds.velveteen
{
super("Null");

id = ++count;
channel = connection.createChannel();
callback = cb;


var declare:QueueDeclare = new QueueDeclare();
if(options) {
for(var k:* in options) {
declare[k] = options[k];
}

if(declare.queue == "auto") {
auto = true;
declare.queue = "";
}
}

//declare and then subscribe
Expand Down Expand Up @@ -179,8 +182,7 @@ package org.ds.velveteen
var m:BasicDeliver = e.instance as BasicDeliver;

var msg:* = {
qid : id,
queue : m.consumerTag,
queue : auto ? "auto" : m.consumerTag,
exchange : m.exchange,
routingKey : m.routingKey,
data : m.body.data
Expand All @@ -193,11 +195,5 @@ package org.ds.velveteen
public function get name():String {
return queue;
}


public function get queueId():uint {
return id;
}

}
}
84 changes: 0 additions & 84 deletions examples/alert.html

This file was deleted.

0 comments on commit c6e92f8

Please sign in to comment.