7d03bee648 
					 
					
						
						
							
							Add type formatting helpers  
						
						... 
						
						
						
						Created the <maxbase/format.hh> header that contains various helper
functions for formatting values into human readable forms. Currently only
binary to human readable size conversion is implemented. 
						
						
					 
					
						2018-10-19 11:20:29 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						75ea1b6ea1 
					 
					
						
						
							
							Fix formatting of new(std::nothrow)  
						
						... 
						
						
						
						The code previously formatted everything as `new( std::nothrow)`. 
						
						
					 
					
						2018-10-04 21:50:44 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						268e689dc5 
					 
					
						
						
							
							Fix code for warnings: unused-but-set-variable and warn_unused_result.  
						
						
						
						
					 
					
						2018-10-03 16:33:24 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						75f9921ca2 
					 
					
						
						
							
							Merge branch '2.2' into develop  
						
						
						
						
					 
					
						2018-10-02 10:18:09 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c65edd1298 
					 
					
						
						
							
							Enhance StopWatch  
						
						... 
						
						
						
						Clean up, comments and enhancements. StopWatch lap() didn't mean lap-time, but elapsed time. Changed meaning to lap-time and added split() for split-time. 
						
						
					 
					
						2018-10-01 09:30:24 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						df3d08b959 
					 
					
						
						
							
							Remove spammy debug print  
						
						... 
						
						
						
						The code was ran even when nothing was really going on and constantly wrote
to the log. 
						
						
					 
					
						2018-09-26 14:03:08 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1063b4a6be 
					 
					
						
						
							
							Add missing cancel callback for delayed call.  
						
						... 
						
						
						
						And make the function a little neater. 
						
						
					 
					
						2018-09-26 11:21:55 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						5132339b7b 
					 
					
						
						
							
							Fix race condition.  
						
						... 
						
						
						
						Change a counter (s_next_delayed_call_id) in Worker from class static to
class member to avoid race conditions on the variable. 
						
						
					 
					
						2018-09-25 17:07:06 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6d82de811f 
					 
					
						
						
							
							Relax Average value access memory ordering  
						
						... 
						
						
						
						As there are no requirements with regards to the visibility of writes to
the Average, the access can be relaxed. 
						
						
					 
					
						2018-09-24 12:07:50 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a94081067f 
					 
					
						
						
							
							Move Average into average.hh  
						
						... 
						
						
						
						Moved the class to a more appropriate place. 
						
						
					 
					
						2018-09-24 12:07:49 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						5ed3667f4a 
					 
					
						
						
							
							Document average.hh  
						
						... 
						
						
						
						Add documentation for the average classes. 
						
						
					 
					
						2018-09-24 12:07:49 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						71ffef5708 
					 
					
						
						
							
							Partially revert 4ba011266843857bbd3201e5b925a47e88e1808f  
						
						... 
						
						
						
						Add back leading operator enforcement. 
						
						
					 
					
						2018-09-20 15:57:30 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2e069fa892 
					 
					
						
						
							
							MXS-1632: Take mxb::atomic::add into use  
						
						... 
						
						
						
						The function now mostly replaces the use of atomic_add_ functions declared
in atomic.h. 
						
						
					 
					
						2018-09-18 15:21:54 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						4d792c3410 
					 
					
						
						
							
							MXS-1632: Add C++ wrappers for __atomic builtins  
						
						... 
						
						
						
						Using the __atomic functions makes it easy to increment fundamental types
atomically without converting them to std::atomic<T>. 
						
						
					 
					
						2018-09-18 15:21:54 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9b0f016aba 
					 
					
						
						
							
							Fix minor formatting oversights  
						
						... 
						
						
						
						Code that was not formatted was merged into develop unformatted. 
						
						
					 
					
						2018-09-12 08:58:15 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6938df0d62 
					 
					
						
						
							
							Use default member initializers in WORKER_STATISTICS  
						
						... 
						
						
						
						Makes the class simpler and removes the need for an explicit
constructor. Also switched to std::array to enable easy iteration over the
array. 
						
						
					 
					
						2018-09-10 14:15:10 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						94a567f4ca 
					 
					
						
						
							
							Remove redundant Worker method  
						
						... 
						
						
						
						The Worker::get_local_statistics was a duplicate of Worker::statistics. 
						
						
					 
					
						2018-09-10 14:14:21 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						108638b0cf 
					 
					
						
						
							
							Format with Uncrustify 0.67  
						
						
						
						
					 
					
						2018-09-10 13:31:39 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						d11c78ad80 
					 
					
						
						
							
							Format all sources with Uncrustify  
						
						... 
						
						
						
						Formatted all sources and manually tuned some files to make the code look
neater. 
						
						
					 
					
						2018-09-10 13:22:49 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c447e5cf15 
					 
					
						
						
							
							Uncrustify maxscale  
						
						... 
						
						
						
						See script directory for method. The script to run in the top level
MaxScale directory is called maxscale-uncrustify.sh, which uses
another script, list-src, from the same directory (so you need to set
your PATH). The uncrustify version was 0.66. 
						
						
					 
					
						2018-09-09 22:26:19 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						fa7ec95069 
					 
					
						
						
							
							MXS-1777 Tune code for cases with slow, or new servers.  
						
						... 
						
						
						
						Changes that allow slow or new servers to quickly apply samples towards the
server average. The most important changes are to not ignore the first N samples,
and apply an average to the server as soon as there is one available.
The new ResponseStat::make_valid() will use filter samples to add an average,
if no averages have yet been added, even if the number of  filter samples is less
than the filter limit. 
						
						
					 
					
						2018-09-09 14:17:40 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						d52885d68d 
					 
					
						
						
							
							MXS-1777 Cosmetic changes based on code reviews.  
						
						
						
						
					 
					
						2018-09-05 17:05:06 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1e6509423a 
					 
					
						
						
							
							MXS-1777: Add an EMAverage to the server struct, and a new slave selection criteria.  
						
						... 
						
						
						
						This is to support calculating the average from a session, and the slave selection criteria to be able to route based on averages. This commit, like the next one, have TODOs which you should feel free to comment on. Undecided things. 
						
						
					 
					
						2018-09-05 17:05:06 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						cdea8aa7be 
					 
					
						
						
							
							mxs-1777: maxutils additions  
						
						... 
						
						
						
						Adding classes for calculating averages. Update StopWatch to C++11. 
						
						
					 
					
						2018-09-05 17:05:06 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						0afcfd7719 
					 
					
						
						
							
							Link maxbase tests against rt  
						
						... 
						
						
						
						The logging requires it. 
						
						
					 
					
						2018-08-31 09:32:07 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e2ba7151b7 
					 
					
						
						
							
							MXS-2008 Enforce right initialization of maxbase  
						
						... 
						
						
						
						Now maxbase can only be initialized via maxbase::init(). 
						
						
					 
					
						2018-08-21 14:35:51 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						24ab3c099c 
					 
					
						
						
							
							Move top of the file  "#pragma once" to after the following comment (swap them). If the comment is a BPL update it to the latest one  
						
						
						
						
					 
					
						2018-08-21 13:13:15 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e852dcacdd 
					 
					
						
						
							
							MXS-2008 Provide single entrypoint for initializing maxbase  
						
						... 
						
						
						
						Everything of maxbase can now be initialized by a call to
    maxbase_init();
(from a C-program) or
    maxbase::init();
from a C++-program and finalized with calls to either
maxbase_finish() or maxbase::finish(). Creating an instance
maxbase::MaxBase will take care of both operations. 
						
						
					 
					
						2018-08-21 10:02:39 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						88f1795412 
					 
					
						
						
							
							MXS-2008 Move Worker and MessageQueue to maxbase  
						
						
						
						
					 
					
						2018-08-21 10:02:39 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						355768c564 
					 
					
						
						
							
							Add overloads to dump_stacktrace  
						
						... 
						
						
						
						Using a function while debugging helps to see where various functions are
called from. 
						
						
					 
					
						2018-08-20 13:56:59 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						0685276764 
					 
					
						
						
							
							Use correct functions in maxutils CMake files  
						
						... 
						
						
						
						The headers and the static library were installed unconditionally. 
						
						
					 
					
						2018-08-20 13:56:58 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						40a5ae81c7 
					 
					
						
						
							
							MXS-2008 Store worker as MXB_WORKER* and not void*  
						
						
						
						
					 
					
						2018-08-20 11:15:14 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e0cb11151f 
					 
					
						
						
							
							MXS-2008 Move maxscale/worker.h to maxbase/worker.h  
						
						
						
						
					 
					
						2018-08-20 11:15:14 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						932956d5f6 
					 
					
						
						
							
							MXS-2008 Add maxbase/poll.[h|hh]  
						
						... 
						
						
						
						Remove maxscale/poll_core.h 
						
						
					 
					
						2018-08-20 11:15:14 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						aaad63ee5e 
					 
					
						
						
							
							MXS-2008 Move content of maxscale/platform.h to maxbase/cdefs.h  
						
						... 
						
						
						
						No good reason for keeping that platform adjustments anywhere
else but in cdefs.h. 
						
						
					 
					
						2018-08-20 11:15:14 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9510a3ae1a 
					 
					
						
						
							
							Use normal asserts in log.cc  
						
						... 
						
						
						
						The logger can't use the asserts that log messages as it introduces a
cyclical dependency on the logger itself. 
						
						
					 
					
						2018-08-17 18:09:51 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9b199cfb50 
					 
					
						
						
							
							Remove duplicate CMakeLists.txt entry  
						
						... 
						
						
						
						maxutils/maxbase/src/test/CMakeLists.txt 
						
						
					 
					
						2018-08-17 16:21:58 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						b82822a4b0 
					 
					
						
						
							
							MXS-2017 Move maxscale::Semaphore to maxbase::Semaphore  
						
						
						
						
					 
					
						2018-08-17 15:57:44 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						d8255d0cac 
					 
					
						
						
							
							MXS-2017 Move maxscale::Semaphore to maxbase::Semaphore  
						
						
						
						
					 
					
						2018-08-17 15:53:54 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						25c81b118d 
					 
					
						
						
							
							Rename conflicting test  
						
						
						
						
					 
					
						2018-08-17 15:02:03 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c7a6d75ab9 
					 
					
						
						
							
							MXS-2014 Address review issues  
						
						
						
						
					 
					
						2018-08-17 10:59:37 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						15bf481120 
					 
					
						
						
							
							MXS-2014 Allow the header and footer to be adjusted  
						
						
						
						
					 
					
						2018-08-17 10:59:37 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						4388b8517e 
					 
					
						
						
							
							MXS-2014 Use standard assert in Logger  
						
						
						
						
					 
					
						2018-08-17 10:59:37 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						cfdfff46ae 
					 
					
						
						
							
							MXS-2014 Add skeleton test for mxb::Log  
						
						
						
						
					 
					
						2018-08-17 10:59:37 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						12e8f28907 
					 
					
						
						
							
							MXS-2014 Add mxb::Log class for convenience  
						
						... 
						
						
						
						In tests, the log can now be setup as
    int main()
    {
        mxb::Log log;
        ...
    }
That will initialize the log so that it logs to a file called
<program-name>.log in the current directory and finalize it
when the program exits. 
						
						
					 
					
						2018-08-17 10:59:37 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						be986d366a 
					 
					
						
						
							
							MXS-2014 Handle default OOM message properly  
						
						
						
						
					 
					
						2018-08-17 10:59:37 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						876cf7c86f 
					 
					
						
						
							
							MXS-2014 Temporarily fix broken token pasting  
						
						
						
						
					 
					
						2018-08-16 11:24:01 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						19684deb69 
					 
					
						
						
							
							MXS-2014 Init and finish properly  
						
						... 
						
						
						
						If any part of initalization fails, no resources are held.
At finalization, release all resources.
Also re-implement recent changes made to log_manager.cc that
did not automatically move over to log.cc. 
						
						
					 
					
						2018-08-16 11:09:30 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a586aa13c4 
					 
					
						
						
							
							MXS-2014 Add proper OOM support  
						
						... 
						
						
						
						Not that I think it ever will be needed... 
						
						
					 
					
						2018-08-16 09:59:43 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						85b68c439a 
					 
					
						
						
							
							MXS-2014 Still more cleanup of maxbase/log.h  
						
						
						
						
					 
					
						2018-08-16 09:59:43 +03:00