[Top][All Lists]
[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);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Monotone-commits-diffs] net.venge.monotone.contrib.usher: b16eb174a9d756580969379e1bf9db896e555373,
code <=