even more queuing around

This commit is contained in:
nora 2022-02-27 18:41:14 +01:00
parent 4643483d70
commit d90d61504c
5 changed files with 24 additions and 7 deletions

View file

@ -14,6 +14,8 @@
<h1>AMQP Data</h1>
<h2>Connections</h2>
<div id="connection-wrapper"></div>
<h2>Queues</h2>
<div id="queue-wrapper"></div>
<script src="script.js"></script>
</body>

View file

@ -39,10 +39,23 @@ const renderConnections = (connections) => {
wrapper.replaceChildren(table);
};
const renderQueues = (queues) => {
const wrapper = document.getElementById('queue-wrapper');
const table = renderTable(
['Queue ID', 'Name', 'Durable'],
queues.map((queue) => {
return [queue.id, queue.name, queue.durable ? 'Yes' : 'No'];
})
);
wrapper.replaceChildren(table);
};
const refresh = async () => {
const fetched = await fetch('api/data');
const data = await fetched.json();
renderConnections(data.connections);
renderQueues(data.queues);
};
setInterval(refresh, 1000);

View file

@ -4,8 +4,10 @@ use amqp_core::error::ProtocolError;
use amqp_core::methods::{BasicConsume, Method};
pub async fn consume(
_channel_handle: ChannelHandle,
channel_handle: ChannelHandle,
_basic_consume: BasicConsume,
) -> Result<Method, ProtocolError> {
let _channel = channel_handle.lock();
amqp_todo!()
}

View file

@ -25,17 +25,17 @@ pub async fn declare(
let queue_name = QueueName::new(queue_name.into());
if !arguments.is_empty() {
return Err(ConException::Todo.into());
amqp_todo!();
}
if passive || no_wait || durable {
amqp_todo!();
}
let global_data = {
let channel = channel_handle.lock();
let global_data = channel.global_data.clone();
if passive || no_wait {
amqp_todo!();
}
let id = QueueId::random();
let queue = Arc::new(RawQueue {
id,

View file

@ -6,7 +6,7 @@ const connection = await connectAmqp();
const channel = await connection.createChannel();
const reply = await channel.assertQueue(queueName, { durable: true });
const reply = await channel.assertQueue(queueName, { durable: false });
assert(reply.messageCount === 0, 'Message found in queue');
assert(reply.consumerCount === 0, 'Consumer listening on queue');