Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitad0aa14

Browse files
committed
feat: add MessageIdentifiers
1 parentf5bf52c commitad0aa14

File tree

3 files changed

+43
-3
lines changed

3 files changed

+43
-3
lines changed

‎python/raknet/__init__.py‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
__all__= ["RakPeer","StartupError"]
1+
__all__= ["RakPeer","StartupError","MessageIdentifiers"]
22

33
fornamein__all__:
44
fromimportlibimportimport_module
@@ -9,3 +9,4 @@
99

1010
RakPeer=globals()["_RakPeer"]
1111
StartupError=globals()["_StartupError"]
12+
MessageIdentifiers=globals()["_MessageIdentifiers"]

‎src/raknet_python.cpp‎

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
#include<string>
55

6+
#include<raknet/MessageIdentifiers.h>
67
#include<raknet/RakNetTypes.h>
78
#include<raknet/RakPeer.h>
89

@@ -28,10 +29,48 @@ class RakNetPacket {
2829
RakNet::Packet &packet_;
2930
};
3031

32+
classMessageIdentifiers {};
33+
#defineDEF_DEFAULT_MESSAGE_ID(name) value(#name, DefaultMessageIDTypes::name)
34+
3135
PYBIND11_MODULE(raknet_python, m) {
3236
py::register_exception<StartupError>(m,"StartupError", PyExc_RuntimeError);
3337
py::register_exception<ConnectionAttemptError>(m,"ConnectionAttemptError", PyExc_RuntimeError);
3438

39+
auto message_id = py::class_<MessageIdentifiers>(m,"MessageIdentifiers");
40+
py::enum_<DefaultMessageIDTypes>(message_id,"DefaultMessageIDTypes")
41+
.DEF_DEFAULT_MESSAGE_ID(ID_CONNECTED_PING)
42+
.DEF_DEFAULT_MESSAGE_ID(ID_UNCONNECTED_PING)
43+
.DEF_DEFAULT_MESSAGE_ID(ID_UNCONNECTED_PING_OPEN_CONNECTIONS)
44+
.DEF_DEFAULT_MESSAGE_ID(ID_CONNECTED_PONG)
45+
.DEF_DEFAULT_MESSAGE_ID(ID_DETECT_LOST_CONNECTIONS)
46+
.DEF_DEFAULT_MESSAGE_ID(ID_OPEN_CONNECTION_REQUEST_1)
47+
.DEF_DEFAULT_MESSAGE_ID(ID_OPEN_CONNECTION_REPLY_1)
48+
.DEF_DEFAULT_MESSAGE_ID(ID_OPEN_CONNECTION_REQUEST_2)
49+
.DEF_DEFAULT_MESSAGE_ID(ID_OPEN_CONNECTION_REPLY_2)
50+
.DEF_DEFAULT_MESSAGE_ID(ID_CONNECTION_REQUEST)
51+
.DEF_DEFAULT_MESSAGE_ID(ID_REMOTE_SYSTEM_REQUIRES_PUBLIC_KEY)
52+
.DEF_DEFAULT_MESSAGE_ID(ID_OUR_SYSTEM_REQUIRES_SECURITY)
53+
.DEF_DEFAULT_MESSAGE_ID(ID_PUBLIC_KEY_MISMATCH)
54+
.DEF_DEFAULT_MESSAGE_ID(ID_OUT_OF_BAND_INTERNAL)
55+
.DEF_DEFAULT_MESSAGE_ID(ID_SND_RECEIPT_ACKED)
56+
.DEF_DEFAULT_MESSAGE_ID(ID_SND_RECEIPT_LOSS)
57+
.DEF_DEFAULT_MESSAGE_ID(ID_CONNECTION_REQUEST_ACCEPTED)
58+
.DEF_DEFAULT_MESSAGE_ID(ID_CONNECTION_ATTEMPT_FAILED)
59+
.DEF_DEFAULT_MESSAGE_ID(ID_ALREADY_CONNECTED)
60+
.DEF_DEFAULT_MESSAGE_ID(ID_NEW_INCOMING_CONNECTION)
61+
.DEF_DEFAULT_MESSAGE_ID(ID_NO_FREE_INCOMING_CONNECTIONS)
62+
.DEF_DEFAULT_MESSAGE_ID(ID_DISCONNECTION_NOTIFICATION)
63+
.DEF_DEFAULT_MESSAGE_ID(ID_CONNECTION_LOST)
64+
.DEF_DEFAULT_MESSAGE_ID(ID_CONNECTION_BANNED)
65+
.DEF_DEFAULT_MESSAGE_ID(ID_INVALID_PASSWORD)
66+
.DEF_DEFAULT_MESSAGE_ID(ID_INCOMPATIBLE_PROTOCOL_VERSION)
67+
.DEF_DEFAULT_MESSAGE_ID(ID_IP_RECENTLY_CONNECTED)
68+
.DEF_DEFAULT_MESSAGE_ID(ID_TIMESTAMP)
69+
.DEF_DEFAULT_MESSAGE_ID(ID_UNCONNECTED_PONG)
70+
.DEF_DEFAULT_MESSAGE_ID(ID_ADVERTISE_SYSTEM)
71+
.DEF_DEFAULT_MESSAGE_ID(ID_DOWNLOAD_PROGRESS)
72+
.export_values();
73+
3574
py::class_<RakNetPacket>(m,"Packet").def_property_readonly("data", [](const RakNetPacket &self) {
3675
returnpy::bytes(self.data(), self.length());
3776
});

‎tests/test_connection.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
importtime
22

33
importpytest
4-
fromraknetimportRakPeer
4+
fromraknetimportRakPeer,MessageIdentifiers
55

66

77
@pytest.fixture
@@ -28,7 +28,7 @@ def test_connection(server, client):
2828
ifpacketisNone:
2929
continue
3030

31-
ifpacket.data[0]==16:#ID_CONNECTION_REQUEST_ACCEPTED
31+
ifpacket.data[0]==MessageIdentifiers.ID_CONNECTION_REQUEST_ACCEPTED:
3232
return
3333

3434
assertFalse,"Connection has not been accepted after 5 seconds"

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp