17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
#include "config.h"
#import "OFConnectionFailedException.h"
#import "OFString.h"
@implementation OFConnectionFailedException
@synthesize host = _host, port = _port, socket = _socket, errNo = _errNo;
+ (instancetype)exception
{
OF_UNRECOGNIZED_SELECTOR
}
+ (instancetype)exceptionWithHost: (OFString *)host
port: (uint16_t)port
socket: (id)socket
errNo: (int)errNo
{
return [[[self alloc] initWithHost: host
port: port
socket: socket
errNo: errNo] autorelease];
}
- (instancetype)init
{
OF_INVALID_INIT_METHOD
}
- (instancetype)initWithHost: (OFString *)host
port: (uint16_t)port
socket: (id)socket
errNo: (int)errNo
{
self = [super init];
@try {
_host = [host copy];
_socket = [socket retain];
_port = port;
_errNo = errNo;
} @catch (id e) {
[self release];
@throw e;
}
return self;
}
- (void)dealloc
{
[_host release];
[_socket release];
[super dealloc];
}
- (OFString *)description
{
if (_host != nil)
return [OFString stringWithFormat:
@"A connection to %@ on port %" @PRIu16 @" could not be "
@"established in socket of type %@: %@",
_host, _port, [_socket class], of_strerror(_errNo)];
else
return [OFString stringWithFormat:
@"A connection could not be established in socket of "
@"type %@: %@",
[_socket class], of_strerror(_errNo)];
}
@end
|
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
#include "config.h"
#import "OFConnectionFailedException.h"
#import "OFString.h"
@implementation OFConnectionFailedException
@synthesize host = _host, port = _port, network = _network, socket = _socket;
@synthesize errNo = _errNo;
+ (instancetype)exception
{
OF_UNRECOGNIZED_SELECTOR
}
+ (instancetype)exceptionWithHost: (OFString *)host
port: (uint16_t)port
socket: (id)socket
errNo: (int)errNo
{
return [[[self alloc] initWithHost: host
port: port
socket: socket
errNo: errNo] autorelease];
}
+ (instancetype)exceptionWithNode: (unsigned char [IPX_NODE_LEN])node
network: (uint32_t)network
port: (uint16_t)port
socket: (id)socket
errNo: (int)errNo
{
return [[[self alloc] initWithNode: node
network: network
port: port
socket: socket
errNo: errNo] autorelease];
}
- (instancetype)init
{
OF_INVALID_INIT_METHOD
}
- (instancetype)initWithHost: (OFString *)host
port: (uint16_t)port
socket: (id)socket
errNo: (int)errNo
{
self = [super init];
@try {
_host = [host copy];
_port = port;
_socket = [socket retain];
_errNo = errNo;
} @catch (id e) {
[self release];
@throw e;
}
return self;
}
- (instancetype)initWithNode: (unsigned char [IPX_NODE_LEN])node
network: (uint32_t)network
port: (uint16_t)port
socket: (id)socket
errNo: (int)errNo
{
self = [super init];
@try {
memcpy(_node, node, IPX_NODE_LEN);
_network = network;
_port = port;
_socket = [socket retain];
_errNo = errNo;
} @catch (id e) {
[self release];
@throw e;
}
return self;
}
- (void)dealloc
{
[_host release];
[_socket release];
[super dealloc];
}
- (unsigned char *)node
{
return _node;
}
- (OFString *)description
{
if (_host != nil)
return [OFString stringWithFormat:
@"A connection to %@ on port %" @PRIu16 @" could not be "
@"established in socket of type %@: %@",
_host, _port, [_socket class], of_strerror(_errNo)];
else if (memcmp(_node, "\0\0\0\0\0", IPX_NODE_LEN) == 0)
return [OFString stringWithFormat:
@"A connection to %02X%02X%02X%02X%02X%02X port %" @PRIu16
@" on network %" @PRIX32 " could not be established in "
@"socket of type %@: %@",
_node[0], _node[1], _node[2], _node[3], _node[4], _node[5],
_port, _network, [_socket class], of_strerror(_errNo)];
else
return [OFString stringWithFormat:
@"A connection could not be established in socket of "
@"type %@: %@",
[_socket class], of_strerror(_errNo)];
}
@end
|