monotone-commits-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-commits-diffs] net.venge.monotone.contrib.usher: b16eb174a9d7


From: code
Subject: [Monotone-commits-diffs] net.venge.monotone.contrib.usher: b16eb174a9d756580969379e1bf9db896e555373
Date: Wed, 19 Jan 2011 13:57:02 GMT

revision:            b16eb174a9d756580969379e1bf9db896e555373
date:                2011-01-18T13:41:00
author:              Timothy Brownawell  <address@hidden>
branch:              net.venge.monotone.contrib.usher
changelog:
Make it build with clang (llvm), without class/struct mismatch warnings.

manifest:
format_version "1"

new_manifest [b124f4e87bb6a61bb12d6e9b5bf8c9dcb0190774]

old_revision [e93e2478eab461c3791960451f385e61431393d3]

patch "src/channel.cc"
 from [7e6b6bbae6a84041ec840bedf5816bd6e116e5ea]
   to [28d584b7185308aeab9297b3c9ceae03718a9e65]

patch "src/channel.hh"
 from [3a97687c17a68c983872de2792defd9e48028168]
   to [21231cc383b16935ac33a349718e5aa775341c45]

patch "src/server.hh"
 from [dd153b5671f0b9560be8b817849731419e5b8fe4]
   to [6a57214c24d5c35c705276dcae8415dfcabf6c6e]

patch "src/server_manager.cc"
 from [0abe47e13dd931c522aa1a7fb828502d63531a6e]
   to [f4a5b6fe2d917f24ce56c133ee347b9b3e91e50b]

patch "src/server_manager.hh"
 from [fc8ad29b28f82cae3b26955995afdad8f1276a5a]
   to [1d1f3a16329bdf11b69fb7593d048d95c65edc8d]

patch "src/sock.hh"
 from [0917e736d673fa6d15fcefea8f1f0e16a63b9bc2]
   to [b077f32cc61674e13b9c3bc138c924c41b23ceb1]
============================================================
--- src/channel.cc	7e6b6bbae6a84041ec840bedf5816bd6e116e5ea
+++ src/channel.cc	28d584b7185308aeab9297b3c9ceae03718a9e65
@@ -24,7 +24,7 @@ channel::channel(sock & c, server_manage
 
 channel::channel(sock & c, server_manager &sm)
  : num(++counter),
-  cli(c), srv(-1),
+   cli(c),
   have_routed(false), no_server(false),
   manager(sm)
 {
@@ -45,7 +45,7 @@ channel::~channel()
 
 channel::~channel()
 {
-  if (srv && !no_server)
+  if (srv != -1 && !no_server)
     manager.disconnect_from_server(srv, name);
 }
 
============================================================
--- src/channel.hh	3a97687c17a68c983872de2792defd9e48028168
+++ src/channel.hh	21231cc383b16935ac33a349718e5aa775341c45
@@ -17,7 +17,7 @@ using boost::shared_ptr;
 #include <boost/shared_ptr.hpp>
 using boost::shared_ptr;
 
-struct server_manager;
+class server_manager;
 
 struct channel
 {
============================================================
--- src/server.hh	dd153b5671f0b9560be8b817849731419e5b8fe4
+++ src/server.hh	6a57214c24d5c35c705276dcae8415dfcabf6c6e
@@ -24,7 +24,7 @@ using boost::weak_ptr;
 #include <boost/weak_ptr.hpp>
 using boost::weak_ptr;
 
-struct server_manager;
+class server_manager;
 
 struct serverstate
 {
@@ -38,8 +38,9 @@ std::ostream & operator<<(std::ostream &
 };
 std::ostream & operator<<(std::ostream & os, serverstate const & ss);
 
-struct server
+class server
 {
+  friend class server_manager;
   bool enabled;
   bool local;
   int pid;
@@ -51,6 +52,7 @@ struct server
   int last_conn_time;
   server_manager &manager;
   weak_ptr<server> me;
+public:
   server(server_manager &sm);
   ~server();
   serverstate get_state();
============================================================
--- src/server_manager.cc	0abe47e13dd931c522aa1a7fb828502d63531a6e
+++ src/server_manager.cc	f4a5b6fe2d917f24ce56c133ee347b9b3e91e50b
@@ -20,8 +20,9 @@ using std::make_pair;
 #include <boost/lexical_cast.hpp>
 //#include <iostream>
 
-serversock::serversock(sock const &o)
- : sock(o)
+serversock::serversock() : sock(-1) { }
+serversock::serversock(sock const &o, string s)
+  : sock(o), srv(s)
 {
 }
 
@@ -309,11 +310,10 @@ server_manager::connect_to_server(string
   if (!srv)
     throw std::logic_error("usher internal error");
   sock s = srv->connect(name);
-  serversock ss(s);
   map<shared_ptr<server>, serverdata>::iterator i = servers.find(srv);
   if (i == servers.end())
     throw std::logic_error("server_manager is inconsistent");
-  ss.srv = i->second.name;
+  serversock ss(s, i->second.name);
   ++total_connections;
   if (srv->local && srv->connection_count == 1)
     {
@@ -325,7 +325,7 @@ server_manager::disconnect_from_server(s
 server_manager::disconnect_from_server(serversock const &s,
                                        string const &name)
 {
-  map<string, shared_ptr<server> >::iterator i = by_name.find(s.srv);
+  map<string, shared_ptr<server> >::iterator i = by_name.find(s.servername());
   if (i == by_name.end())
     return;
   i->second->disconnect(name);
============================================================
--- src/server_manager.hh	fc8ad29b28f82cae3b26955995afdad8f1276a5a
+++ src/server_manager.hh	1d1f3a16329bdf11b69fb7593d048d95c65edc8d
@@ -27,11 +27,13 @@ struct serverlist_reader;
 
 struct serverlist_reader;
 
-struct serversock : public sock
+class serversock : public sock
 {
   string srv;
-  serversock(sock const &o);
-  operator bool() {return !srv.empty();}
+public:
+  serversock();
+  serversock(sock const &o, string s);
+  string const & servername() const { return srv; }
 };
 
 class server_manager
============================================================
--- src/sock.hh	0917e736d673fa6d15fcefea8f1f0e16a63b9bc2
+++ src/sock.hh	b077f32cc61674e13b9c3bc138c924c41b23ceb1
@@ -15,10 +15,11 @@ struct buffer;
 
 struct buffer;
 
-struct sock
+class sock
 {
   int *s;
   static std::set<int*> all_socks;
+public:
   operator int();
   sock(int ss);
   sock(sock const & ss);

reply via email to

[Prev in Thread] Current Thread [Next in Thread]