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

Commiteee27b0

Browse files
Splitting the definition of client into 2 interfaces
- ClientConnect provides the abstraction required to address connection methods for TCP like sessions.- Client provides the same Features as before, but it is specialized to handle connections that are then handled like a stream, like a classical TCP connectionThis distinction will be used to differentiate stream like communicationprotocols, i.e. websocket, tcp, http streaming, from discrete sizedpackets communication, like MQTT.
1 parent4a02bfc commiteee27b0

File tree

1 file changed

+18
-13
lines changed

1 file changed

+18
-13
lines changed

‎api/Client.h

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,23 +24,28 @@
2424

2525
namespacearduino {
2626

27-
classClient :publicStream {
27+
// The objective of this interface is to split the definition of a Client that
28+
// works with streams and one that works with discrete sized messages
29+
classClientConnect {
30+
public:
31+
virtual~ClientConnect() =default;
32+
33+
virtualintconnect(IPAddress ip,uint16_t port) = 0;
34+
virtualintconnect(constchar *host,uint16_t port) = 0;
35+
virtualvoiddisconnect() = 0;
36+
37+
virtualuint8_tconnected() = 0;
38+
virtualoperatorbool() = 0;
39+
};
2840

41+
classClient :publicStream, ClientConnect {
2942
public:
30-
virtualintconnect(IPAddress ip,uint16_t port) =0;
31-
virtualintconnect(constchar *host,uint16_t port) =0;
32-
virtualsize_twrite(uint8_t) =0;
33-
virtualsize_twrite(constuint8_t *buf,size_t size) =0;
34-
virtualintavailable() = 0;
35-
virtualintread() = 0;
43+
virtualsize_twrite(uint8_t) = 0;
44+
virtualsize_twrite(constuint8_t *buf,size_t size) = 0;
3645
virtualintread(uint8_t *buf,size_t size) = 0;
37-
virtualintpeek() = 0;
38-
virtualvoidflush() = 0;
3946
virtualvoidstop() = 0;
40-
virtualuint8_tconnected() = 0;
41-
virtualoperatorbool() = 0;
4247
protected:
43-
uint8_t*rawIPAddress(IPAddress& addr) {return addr.raw_address(); };
48+
uint8_t*rawIPAddress(IPAddress& addr) {return addr.raw_address(); };// FIXME this is a utility function
4449
};
4550

46-
}
51+
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp