projects
/
openvswitch
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Break passive vconns out into separate pvconn routines and data structures.
[openvswitch]
/
lib
/
vconn-stream.c
diff --git
a/lib/vconn-stream.c
b/lib/vconn-stream.c
index f58cc2c0c5e3b1198b4bdf15740b1f99af6ee004..5cf296fc5a4822e2ab6951691f6254b675efbf66 100644
(file)
--- a/
lib/vconn-stream.c
+++ b/
lib/vconn-stream.c
@@
-256,30
+256,30
@@
static struct vconn_class stream_vconn_class = {
\f
/* Passive stream socket vconn. */
\f
/* Passive stream socket vconn. */
-struct pstream_vconn
+struct pstream_
p
vconn
{
{
- struct
vconn
vconn;
+ struct
pvconn p
vconn;
int fd;
int (*accept_cb)(int fd, const struct sockaddr *, size_t sa_len,
struct vconn **);
};
int fd;
int (*accept_cb)(int fd, const struct sockaddr *, size_t sa_len,
struct vconn **);
};
-static struct
vconn_class pstream_
vconn_class;
+static struct
pvconn_class pstream_p
vconn_class;
-static struct pstream_vconn *
-pstream_
vconn_cast(struct vconn *
vconn)
+static struct pstream_
p
vconn *
+pstream_
pvconn_cast(struct pvconn *p
vconn)
{
{
-
vconn_assert_class(vconn, &pstream_
vconn_class);
- return CONTAINER_OF(
vconn, struct pstream_vconn,
vconn);
+
pvconn_assert_class(pvconn, &pstream_p
vconn_class);
+ return CONTAINER_OF(
pvconn, struct pstream_pvconn, p
vconn);
}
int
}
int
-new_pstream_vconn(const char *name, int fd,
+new_pstream_
p
vconn(const char *name, int fd,
int (*accept_cb)(int fd, const struct sockaddr *,
size_t sa_len, struct vconn **),
int (*accept_cb)(int fd, const struct sockaddr *,
size_t sa_len, struct vconn **),
- struct
vconn **
vconnp)
+ struct
pvconn **p
vconnp)
{
{
- struct pstream_vconn *ps;
+ struct pstream_
p
vconn *ps;
int retval;
retval = set_nonblocking(fd);
int retval;
retval = set_nonblocking(fd);
@@
-296,25
+296,25
@@
new_pstream_vconn(const char *name, int fd,
}
ps = xmalloc(sizeof *ps);
}
ps = xmalloc(sizeof *ps);
-
vconn_init(&ps->vconn, &pstream_vconn_class, 0, 0
, name);
+
pvconn_init(&ps->pvconn, &pstream_pvconn_class
, name);
ps->fd = fd;
ps->accept_cb = accept_cb;
ps->fd = fd;
ps->accept_cb = accept_cb;
- *
vconnp = &ps->
vconn;
+ *
pvconnp = &ps->p
vconn;
return 0;
}
static void
return 0;
}
static void
-pstream_close(struct
vconn *
vconn)
+pstream_close(struct
pvconn *p
vconn)
{
{
- struct pstream_
vconn *ps = pstream_vconn_cast(
vconn);
+ struct pstream_
pvconn *ps = pstream_pvconn_cast(p
vconn);
close(ps->fd);
free(ps);
}
static int
close(ps->fd);
free(ps);
}
static int
-pstream_accept(struct
vconn *
vconn, struct vconn **new_vconnp)
+pstream_accept(struct
pvconn *p
vconn, struct vconn **new_vconnp)
{
{
- struct pstream_
vconn *ps = pstream_vconn_cast(
vconn);
+ struct pstream_
pvconn *ps = pstream_pvconn_cast(p
vconn);
struct sockaddr_storage ss;
socklen_t ss_len = sizeof ss;
int new_fd;
struct sockaddr_storage ss;
socklen_t ss_len = sizeof ss;
int new_fd;
@@
-340,16
+340,16
@@
pstream_accept(struct vconn *vconn, struct vconn **new_vconnp)
}
static void
}
static void
-pstream_wait(struct
vconn *vconn, enum vconn_wait_type wait
)
+pstream_wait(struct
pvconn *pvconn
)
{
{
- struct pstream_vconn *ps = pstream_vconn_cast(vconn);
- assert(wait == WAIT_ACCEPT);
+ struct pstream_pvconn *ps = pstream_pvconn_cast(pvconn);
poll_fd_wait(ps->fd, POLLIN);
}
poll_fd_wait(ps->fd, POLLIN);
}
-static struct vconn_class pstream_vconn_class = {
- .name = "pstream",
- .close = pstream_close,
- .accept = pstream_accept,
- .wait = pstream_wait
+static struct pvconn_class pstream_pvconn_class = {
+ "pstream",
+ NULL,
+ pstream_close,
+ pstream_accept,
+ pstream_wait
};
};