Compare commits

..

No commits in common. "504c38563eb7d5e15a09730c0e43ee1ca1b9fe40" and "238f7b75b81cf292301518ff295576cd81f67c51" have entirely different histories.

3 changed files with 14 additions and 27 deletions

5
.gitignore vendored
View File

@ -1,5 +1,4 @@
CMakeCache.txt *.user
CMakeFiles *.o
Makefile Makefile
cmake_install.cmake
metacall metacall

View File

@ -1,16 +0,0 @@
project("metacall")
add_executable(
metacall
mc_binding.cpp
mc_buffer.cpp
mc_client.cpp
mc_prefab.cpp
mc_protocol.cpp
mc_serial.cpp
mc_server.cpp
mc_socket.cpp
mc_stream.cpp
mc_token.cpp
testing.cpp
)

View File

@ -1,13 +1,13 @@
# Metacall # Metacall
Many winters while ago I needed to find a simple cross-platform IPC library to use for one of my projects. After a good A while ago I needed to find a simple cross-platform IPC library to use for one of my projects. After a good amount of
amount of searching, I was disappointed to discover that although there were lots of libraries for handling IPC, all searching, I was disappointed to discover that although there were lots of libraries for handling IPC, all were very
were very "enterprisey", had a lot of dependencies, and were generally difficult to integrate into my simple console "enterprisey", had a lot of dependencies, and generally difficult to integrate into my simple console application.
application. Basically, I wanted to use something that was easier than raw sockets/pipes, but conceptually simpler than Basically, I wanted to use something that was easier than raw sockets/pipes, but conceptually simpler than a gigantic
a gigantic platform-specific monster like [WCF](http://en.wikipedia.org/wiki/Windows_Communication_Foundation). Before platform-specific monster like [WCF](http://en.wikipedia.org/wiki/Windows_Communication_Foundation). Before long, I
long, I came to the realization that there was nothing left to do but write to this library for myself. I called it came to the realization that there was nothing left to do but write to this library for myself. I called it "Metacall"
"Metacall" to reflect the use of C++ template metaprogramming in its implementation, combined with the notion of to reflect the use of C++ template metaprogramming in its implementation, combined with the notion of "calling"
"calling" functions over the TCP/IP sockets. functions over the TCP/IP sockets.
Metacall was designed with the following principles in mind: Metacall was designed with the following principles in mind:
@ -18,3 +18,7 @@ Metacall was designed with the following principles in mind:
[sockets](http://en.wikipedia.org/wiki/Network_socket). [sockets](http://en.wikipedia.org/wiki/Network_socket).
* Do prefer simplicity over a complex feature set. * Do prefer simplicity over a complex feature set.
* Do keep boilerplate code requirements to a minimum. * Do keep boilerplate code requirements to a minimum.
This page is still a work in progress, check out the [code repository](https://github.com/FooSoft/metacall/) for the
time being!