/// <summary>
		/// Sends the contents of the buffer.
		/// </summary>
		/// <param name="buffer">The buffer containing the events that need to be send.</param>
		/// <remarks>
		/// The subclass must override either <see cref="SendBuffer(CyclicBuffer)"/>
		/// or <see cref="SendBuffer(LoggingEvent[])"/>.
		/// </remarks>
		virtual protected void SendBuffer(CyclicBuffer buffer)
		{
			SendBuffer(buffer.PopAll());
		}
		/// <summary>
		/// Initialise the appender based on the options set
		/// </summary>
		override public void ActivateOptions() 
		{
			base.ActivateOptions();

			// If the appender is in Lossy mode then we will
			// only send the buffer when the Evaluator triggers
			// therefore check we have an evaluator.
			if (m_lossy && m_evaluator == null)
			{
				ErrorHandler.Error("Appender ["+Name+"] is Lossy but has no Evaluator. The buffer will never be sent!"); 
			}

			m_cb = new CyclicBuffer(m_bufferSize);
		}