├── .gitignore ├── COPYING ├── Makefile ├── README.md ├── benchmark ├── Makefile ├── benchmark.go ├── benchmark_connection.go ├── benchmark_group.go ├── benchmark_login.go ├── benchmark_room.go ├── benchmark_route.go ├── benchmark_sender.go └── benchmark_storage.go ├── db.sql ├── doc ├── api.md └── design.md ├── go.mod ├── go.sum ├── handler ├── http_handler.go └── logging_handler.go ├── im.cfg.sample ├── im ├── Makefile ├── auth.go ├── config.go ├── http_server.go ├── im_test.go ├── listener.go ├── main.go ├── stat_memory.go └── ws.go ├── im_client.py ├── im_demo.py ├── imr.cfg.sample ├── imr ├── Makefile ├── config.go └── main.go ├── ims.cfg.sample ├── ims ├── Makefile ├── config.go ├── main.go ├── monitoring.go ├── rpc.go └── storage_test.go ├── lru └── lru.go ├── protocol ├── command.go ├── message.go └── protocol.go ├── router ├── app_route.go ├── channel.go ├── client.go ├── route.go ├── route_message.go ├── rpc.go └── server.go ├── server ├── api.go ├── app.go ├── app_route.go ├── client.go ├── connection.go ├── customer_server.go ├── device.go ├── group.go ├── group_loader.go ├── group_manager.go ├── group_message_deliver.go ├── group_message_file.go ├── group_server.go ├── group_service.go ├── im_message.go ├── message.go ├── monitoring.go ├── peer_server.go ├── push_service.go ├── redis_config.go ├── relationship.go ├── relationship_pool.go ├── room_server.go ├── route.go ├── rpc.go ├── server.go ├── server_summary.go ├── subscriber.go └── user.go ├── set └── set.go ├── storage ├── group_storage.go ├── master.go ├── peer_storage.go ├── rpc.go ├── slaver.go ├── storage.go ├── storage_file.go ├── storage_message.go └── sync_client.go ├── tests ├── client.py ├── config.py ├── protocol.py ├── rpc.py ├── test_customer.py ├── test_group.py ├── test_peer.py └── test_room.py └── tools └── truncate.go /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/.gitignore -------------------------------------------------------------------------------- /COPYING: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/COPYING -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/README.md -------------------------------------------------------------------------------- /benchmark/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/benchmark/Makefile -------------------------------------------------------------------------------- /benchmark/benchmark.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/benchmark/benchmark.go -------------------------------------------------------------------------------- /benchmark/benchmark_connection.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/benchmark/benchmark_connection.go -------------------------------------------------------------------------------- /benchmark/benchmark_group.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/benchmark/benchmark_group.go -------------------------------------------------------------------------------- /benchmark/benchmark_login.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/benchmark/benchmark_login.go -------------------------------------------------------------------------------- /benchmark/benchmark_room.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/benchmark/benchmark_room.go -------------------------------------------------------------------------------- /benchmark/benchmark_route.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/benchmark/benchmark_route.go -------------------------------------------------------------------------------- /benchmark/benchmark_sender.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/benchmark/benchmark_sender.go -------------------------------------------------------------------------------- /benchmark/benchmark_storage.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/benchmark/benchmark_storage.go -------------------------------------------------------------------------------- /db.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/db.sql -------------------------------------------------------------------------------- /doc/api.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/doc/api.md -------------------------------------------------------------------------------- /doc/design.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/doc/design.md -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/go.sum -------------------------------------------------------------------------------- /handler/http_handler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/handler/http_handler.go -------------------------------------------------------------------------------- /handler/logging_handler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/handler/logging_handler.go -------------------------------------------------------------------------------- /im.cfg.sample: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/im.cfg.sample -------------------------------------------------------------------------------- /im/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/im/Makefile -------------------------------------------------------------------------------- /im/auth.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/im/auth.go -------------------------------------------------------------------------------- /im/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/im/config.go -------------------------------------------------------------------------------- /im/http_server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/im/http_server.go -------------------------------------------------------------------------------- /im/im_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/im/im_test.go -------------------------------------------------------------------------------- /im/listener.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/im/listener.go -------------------------------------------------------------------------------- /im/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/im/main.go -------------------------------------------------------------------------------- /im/stat_memory.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/im/stat_memory.go -------------------------------------------------------------------------------- /im/ws.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/im/ws.go -------------------------------------------------------------------------------- /im_client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/im_client.py -------------------------------------------------------------------------------- /im_demo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/im_demo.py -------------------------------------------------------------------------------- /imr.cfg.sample: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/imr.cfg.sample -------------------------------------------------------------------------------- /imr/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/imr/Makefile -------------------------------------------------------------------------------- /imr/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/imr/config.go -------------------------------------------------------------------------------- /imr/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/imr/main.go -------------------------------------------------------------------------------- /ims.cfg.sample: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/ims.cfg.sample -------------------------------------------------------------------------------- /ims/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/ims/Makefile -------------------------------------------------------------------------------- /ims/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/ims/config.go -------------------------------------------------------------------------------- /ims/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/ims/main.go -------------------------------------------------------------------------------- /ims/monitoring.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/ims/monitoring.go -------------------------------------------------------------------------------- /ims/rpc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/ims/rpc.go -------------------------------------------------------------------------------- /ims/storage_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/ims/storage_test.go -------------------------------------------------------------------------------- /lru/lru.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/lru/lru.go -------------------------------------------------------------------------------- /protocol/command.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/protocol/command.go -------------------------------------------------------------------------------- /protocol/message.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/protocol/message.go -------------------------------------------------------------------------------- /protocol/protocol.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/protocol/protocol.go -------------------------------------------------------------------------------- /router/app_route.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/router/app_route.go -------------------------------------------------------------------------------- /router/channel.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/router/channel.go -------------------------------------------------------------------------------- /router/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/router/client.go -------------------------------------------------------------------------------- /router/route.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/router/route.go -------------------------------------------------------------------------------- /router/route_message.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/router/route_message.go -------------------------------------------------------------------------------- /router/rpc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/router/rpc.go -------------------------------------------------------------------------------- /router/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/router/server.go -------------------------------------------------------------------------------- /server/api.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/api.go -------------------------------------------------------------------------------- /server/app.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/app.go -------------------------------------------------------------------------------- /server/app_route.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/app_route.go -------------------------------------------------------------------------------- /server/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/client.go -------------------------------------------------------------------------------- /server/connection.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/connection.go -------------------------------------------------------------------------------- /server/customer_server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/customer_server.go -------------------------------------------------------------------------------- /server/device.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/device.go -------------------------------------------------------------------------------- /server/group.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/group.go -------------------------------------------------------------------------------- /server/group_loader.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/group_loader.go -------------------------------------------------------------------------------- /server/group_manager.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/group_manager.go -------------------------------------------------------------------------------- /server/group_message_deliver.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/group_message_deliver.go -------------------------------------------------------------------------------- /server/group_message_file.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/group_message_file.go -------------------------------------------------------------------------------- /server/group_server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/group_server.go -------------------------------------------------------------------------------- /server/group_service.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/group_service.go -------------------------------------------------------------------------------- /server/im_message.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/im_message.go -------------------------------------------------------------------------------- /server/message.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/message.go -------------------------------------------------------------------------------- /server/monitoring.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/monitoring.go -------------------------------------------------------------------------------- /server/peer_server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/peer_server.go -------------------------------------------------------------------------------- /server/push_service.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/push_service.go -------------------------------------------------------------------------------- /server/redis_config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/redis_config.go -------------------------------------------------------------------------------- /server/relationship.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/relationship.go -------------------------------------------------------------------------------- /server/relationship_pool.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/relationship_pool.go -------------------------------------------------------------------------------- /server/room_server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/room_server.go -------------------------------------------------------------------------------- /server/route.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/route.go -------------------------------------------------------------------------------- /server/rpc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/rpc.go -------------------------------------------------------------------------------- /server/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/server.go -------------------------------------------------------------------------------- /server/server_summary.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/server_summary.go -------------------------------------------------------------------------------- /server/subscriber.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/subscriber.go -------------------------------------------------------------------------------- /server/user.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/server/user.go -------------------------------------------------------------------------------- /set/set.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/set/set.go -------------------------------------------------------------------------------- /storage/group_storage.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/storage/group_storage.go -------------------------------------------------------------------------------- /storage/master.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/storage/master.go -------------------------------------------------------------------------------- /storage/peer_storage.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/storage/peer_storage.go -------------------------------------------------------------------------------- /storage/rpc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/storage/rpc.go -------------------------------------------------------------------------------- /storage/slaver.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/storage/slaver.go -------------------------------------------------------------------------------- /storage/storage.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/storage/storage.go -------------------------------------------------------------------------------- /storage/storage_file.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/storage/storage_file.go -------------------------------------------------------------------------------- /storage/storage_message.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/storage/storage_message.go -------------------------------------------------------------------------------- /storage/sync_client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/storage/sync_client.go -------------------------------------------------------------------------------- /tests/client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/tests/client.py -------------------------------------------------------------------------------- /tests/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/tests/config.py -------------------------------------------------------------------------------- /tests/protocol.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/tests/protocol.py -------------------------------------------------------------------------------- /tests/rpc.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/tests/rpc.py -------------------------------------------------------------------------------- /tests/test_customer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/tests/test_customer.py -------------------------------------------------------------------------------- /tests/test_group.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/tests/test_group.py -------------------------------------------------------------------------------- /tests/test_peer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/tests/test_peer.py -------------------------------------------------------------------------------- /tests/test_room.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/tests/test_room.py -------------------------------------------------------------------------------- /tools/truncate.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoBelieveIO/im_service/HEAD/tools/truncate.go --------------------------------------------------------------------------------