summaryrefslogtreecommitdiff
path: root/src/server.h
diff options
context:
space:
mode:
authorCarlos Martín Nieto <cmn@dwim.me>2014-05-27 17:51:25 +0200
committerCarlos Martín Nieto <cmn@dwim.me>2014-05-27 17:51:25 +0200
commit4625003149d02227f981b53101c7e6be12226382 (patch)
treeac1a86f48c69d4da0ec14adc4860f0be7ab422ec /src/server.h
parent16b20526e1580f50b29f0dae87a30ebefe0a3c89 (diff)
downloadlibgit2-cmn/server.tar.gz
server: handle negotiation linescmn/server
A bit of scaffolding for handling the lines from the client telling us about its commits.
Diffstat (limited to 'src/server.h')
-rw-r--r--src/server.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server.h b/src/server.h
index eff5dd4ec..943eaa2cd 100644
--- a/src/server.h
+++ b/src/server.h
@@ -9,6 +9,9 @@
#include "common.h"
#include "transports/smart.h"
+#include "array.h"
+
+typedef git_array_t(git_oid) git_oid_array;
struct git_server {
enum git_request_type type;
@@ -16,12 +19,15 @@ struct git_server {
gitno_socket s;
int rpc;
char *path;
+ git_oid_array common;
+ git_oid_array wants;
};
extern int git_server_new(git_server **out, git_repository *repo, int fd);
extern void git_server_free(git_server *server);
extern int git_server__handle_request(git_server *server, git_pkt *pkt);
extern int git_server__ls(git_buf *out, git_server *server);
+extern int git_server__negotiation(git_server *server, git_pkt *_pkt);
#endif