public void Close()
{
this.listener.Close();
var snapshot = new List<Connection>();
lock (this.connections)
{
this.closed = true;
snapshot.AddRange(this.connections);
connections.Clear();
}
foreach (var connection in snapshot)
{
connection.Close(AmqpObject.DefaultCloseTimeout, new Error() { Condition = ErrorCode.ConnectionForced });
}
}