From 62f4dbd9df435d8f8555f7dceed9745993c78366 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 26 Oct 2004 23:22:12 +0400 Subject: Various post-review fixes server-tools/instance-manager/buffer.cc: simplified buffer interface server-tools/instance-manager/buffer.h: simplified buffer interface server-tools/instance-manager/command.cc: Command class now uses instance_map directly server-tools/instance-manager/command.h: Made Command to use instance_map directly (not through the factory, which is not needed here in fact) server-tools/instance-manager/commands.cc: Moved mysql client/server protocol-specific functions to the commands server-tools/instance-manager/commands.h: Added a comment for Syntax_error command, fixed classes to use instance map instead of the factory server-tools/instance-manager/factory.cc: Fixed factory to give appropriate class to the commands server-tools/instance-manager/guardian.cc: Fixed guardian to delay start of new instances monitoring. Moved guardian initialization to the class from Instance map. server-tools/instance-manager/guardian.h: interface fixed server-tools/instance-manager/instance.cc: added some loging server-tools/instance-manager/instance_map.cc: All non-instance map specific functions moved from the class. Added iterator for instance_map server-tools/instance-manager/instance_map.h: All non-instance map related functions moved from the class. Added iterator for instance_map. server-tools/instance-manager/listener.cc: Added FD_CLOEXEC flag to sockets, as we don't want instances to inherit them after exec. server-tools/instance-manager/manager.cc: use guardian method moved from the instance map server-tools/instance-manager/mysql_connection.cc: cleanup server-tools/instance-manager/protocol.cc: fix according to the changes in the Buffer class --- server-tools/instance-manager/instance_map.h | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) (limited to 'server-tools/instance-manager/instance_map.h') diff --git a/server-tools/instance-manager/instance_map.h b/server-tools/instance-manager/instance_map.h index 965261f2920..193376c6f23 100644 --- a/server-tools/instance-manager/instance_map.h +++ b/server-tools/instance-manager/instance_map.h @@ -43,12 +43,11 @@ public: Instance *find(const char *name, uint name_len); Instance *find(uint instance_number); - int show_instances(struct st_net *net); - int show_instance_status(struct st_net *net, const char *instance_name); - int show_instance_options(struct st_net *net, const char *instance_name); int flush_instances(); - int init_guardian(); int cleanup(); + int lock(); + int unlock(); + Instance *get_instance(uint instance_number); Instance_map(); ~Instance_map(); @@ -73,4 +72,22 @@ private: HASH hash; }; + +/* Instance_map iterator */ + +class Imap_iterator +{ +private: + uint current_instance; + Instance_map *instance_map; +public: + Imap_iterator(Instance_map *instance_map_arg) : + instance_map(instance_map_arg), current_instance(0) + {} + + void go_to_first(); + Instance *next(); +}; + + #endif /* INCLUDES_MYSQL_INSTANCE_MANAGER_INSTANCE_MAP_H */ -- cgit v1.2.1